コードインスペクション: 'as' 式の型チェックとその後の null チェックを否定のパターンマッチングに変換する
C# 7.0 以降、型チェック、null チェック、型キャストを パターンマッチングで次の形式のように組み合わせることができます: Expression is Type variable — Expression が null でなく、かつ Type に代入可能な場合、 variable に代入されます。そうでない場合は、そのパターンが false を返します。
C# 7.0 が登場する前は、 as を使用して式を安全にキャストし、変数 null を確認するのが最も一般的なパターンでした。 ReSharper はコード内のこれらのパターンを検出し、よりエレガントなパターンマッチング形式への変換を支援します。 たとえば、次のようになります。
void Test(object obj)
{
var str = obj as string;
if (str != null)
{
// do something
}
}
void Test(object obj)
{
if (obj is string str)
{
// do something
}
}
2026 年 6 月 12 日