まず、基本的なswitch文の構文を振り返りましょう。
switch (式)
{
case 値1:
// 値1に対する処理
break;
case 値2:
// 値2に対する処理
break;
// 他のcase文
default:
// 上記のいずれの値にも該当しない場合の処理
break;
}
次に、typeof演算子を使用して型情報を取得する方法を見てみましょう。
Type type = typeof(型名);
このようにして、指定した型のTypeオブジェクトを取得することができます。
これらを組み合わせると、特定の型に基づいて処理を分岐させることができます。以下のコード例を参考にしてください。
void ProcessObject(object obj)
{
switch (obj)
{
case string str:
Console.WriteLine("文字列型: " + str);
break;
case int num:
Console.WriteLine("整数型: " + num);
break;
case bool flag:
Console.WriteLine("真偽値型: " + flag);
break;
default:
Console.WriteLine("その他の型");
break;
}
}
上記の例では、引数として渡されたオブジェクトの型に基づいて処理を分岐しています。文字列型、整数型、真偽値型に対してはそれぞれ適切な処理が行われ、それ以外の型に対してはデフォルトの処理が実行されます。
以上が、C#のswitch文とtypeof演算子の使用方法です。これを使うことで、コードの可読性を高めることができます。