コードインスペクション:型パターンとキャストをマージできます
このインスペクションは、すでに値の型チェックを行っているにもかかわらず、ケース本体またはガード内で同じ switch 式のキャストを繰り返している switch ケースを報告します。 ケースラベルでパターン変数を使用すると、型付き値が一度導入され、そのケース内ではどこでも再利用されるため、コードが短く分かりやすくなります。
サンプル
switch (obj)
{
case int x when ((int)obj) > 0:
Console.WriteLine((int)obj);
break;
}
switch (obj)
{
case int x when x > 0:
Console.WriteLine(x);
break;
}
クイックフィックス
キャストを繰り返す代わりに、パターン変数を使用してください。
2026 年 6 月 12 日