【C#】パターンマッチング
パターンマッチング
switch
class A{}
class B : A{}
class C : A{}
public void Something(A inst)
{
switch(inst)
{
case A a:
// something
break;
case B b:
// something
break;
case C c:
// something
break;
}
}
is as
class A{}
class B : A{}
class C : A{}
public void Something1(A inst)
{
var b = inst as B;
if (b != null)
{
// something
}
}
public void Something2(A inst)
{
if (inst is B b)
{
// something
}
}