JetBrains Rider 2026.1 Help

コードインスペクション: 指定された 'is' 演算子の式は常に提供された型です。

参照タイプ間の互換性チェック expr is type では、左側の expr が右側の type に割り当て可能なタイプである可能性があります。

C# のドキュメント"is 文が expr が null でなく、式を評価した結果のオブジェクトを型に変換できる場合は true、そうでない場合は false を返しますによると

つまり、このチェックが false と評価される唯一のケースは、 exprnull である場合です。

この場合のチェックの実際のセマンティクスを明らかにするには、 is チェックを単純な null チェックとして置き換える必要があります。

この警告は、コンパイラーの警告 CS0183: 与えられた式は常に提供された('type')型です (JetBrains Rider でも検出されます)と似ていますが、参照型を扱う点が異なり、コンパイラーの警告は値型の変換時に発生します。

private void Test(String str) { if (str is Object) { // do something } }
private void Test(String str) { if (str != null) { // do something } }
2026 年 6 月 12 日