ReSharper 2026.1 Help

コードインスペクション: null 許容参照型のアノテーションに従い、式は常に「true」または「false」になります

このインスペクションは、 null 許容参照型 (NRT) が有効な場合に C# 8.0 以降で動作し、NRT 契約に基づいて常に true または常に false である式を報告します。

NRT は、null 値可能性分析の全体的な精度を向上させますが、値が #nullable コンテキストのないコードから取得される場合など、NRT 契約に違反する場合があります。 このような場合、null 値可能性チェックで誤検知の警告が表示されることがあります。 null 値可能な API 契約を無視し、コード内の値に対する以前の操作で null 値になるかどうかが保証されている場合にのみ問題を報告するように選択できます。

この動作は、 Alt+Enter メニューから直接変更できます。

ReSharper: null 許容参照型

... または、ReSharper オプション の コードインスペクション | 設定 ページで null 許容参照型の警告モード オプションを使用します。

ReSharper が null 許容 API コントラクトを無視する場合、null 許容性解析はプログラムの制御フローに依存して冗長な null チェックを報告します。 そのために別のインスペクションを使用します。 たとえば、次のようになります。

var myString = ApiMethod(); if (myString is null) throw new ApplicationException("the string is null"); // warning 'Expression is always true' // 'myString' cannot be null because it's already checked for null in our code if (myString != null) Console.WriteLine(myString);

NRT と ReSharper のサポート方法の詳細については、次のウェビナー録画をご覧ください:

2026 年 6 月 12 日