コードインスペクション:null 以外の値で成功する型チェックの代わりに null チェックを使用する
C# の is 演算子は、次の 2 つの場合に false を返します。
isの左側がテストされたタイプと互換性がなくisの左側がnullの場合 (理由はこちら (英語))。
このインスペクションは、 is の左側が常にテストされた型に代入可能な場合を報告します。 このような場合、 is は左側が null のときだけ false となります。 したがって、型チェックを null チェックに置き換えることが推奨されます。これによりロジックが保持され、コードを読む際に何が実際にテストされているのかが分かりやすくなります。
public static void Print(string str)
{
if (str is string)
Console.WriteLine(str);
}
意図された条件は null チェックではなく、型チェックであった可能性があることに注意してください。 その場合は、コードを確認して根本的な問題を特定する必要があります。
2026 年 6 月 12 日