ReSharper 2025.3 ヘルプ

コード検査: 式は常に 'null' です

このインスペクションは、値と null 可能性の分析に基づいて、常に null に評価されることがわかっている式を報告します。

ReSharper は、このような式を明示的な null に置き換えることを提案しています。まず、コードの可読性が向上しますが、式に計算が必要な場合や、コードが頻繁に使用される API の一部である場合は、パフォーマンスも向上します。

以下の例は、if (input == null) 条件内で input が常に null になることが明らかな最も単純なケースを示しています。ただし、実際の状況では、常に null の式は、複数のコード行によって関連するチェックから分離される可能性があり、見つけるのはそれほど簡単ではありません。

#nullable disable void Parse(string input) { if (input == null) Console.WriteLine(input); }
#nullable disable void Parse(string input) { if (input == null) Console.WriteLine((string)null); }
2024 年 8 月 27 日

関連ページ:

コードインスペクション設定を構成する

設計時コードインスペクションを構成する:デフォルトでは、ReSharper は、サポートされている言語に対応するすべてのファイルで設計時コードインスペクションを有効にします。必要に応じて、無効にすることができます。設計時コードインスペクションが有効かどうかに関係なく、コードインスペクションは常に特定のスコープで実行できます。メインメニューからを選択するか、Alt+R O を押してから、左側のを選択します。設計時コードインスペクションを切り替えるには、コード分析を有効にするチェックボックスを使用し...

価値と無効性の分析

ReSharper は、可能な「null」逆参照、重複ブール比較および null ・チェックを見つけるのに役立つ値分析を実行します。Null 許容値を分析するさまざまな方法:ReSharper は、いくつかの方法で値を分析できます。言語構成体の動作を理解します。次の例では、パラメーターが明示的に null 可能性をチェックされたという事実に基づいて、ReSharper はの値が実際に 'null' であると合理的に想定し、対応する警告を表示します。null 許容参照型が無効になっている場合、コ...

コード検査: 呼び出し元の引数式パラメーターに渡された冗長引数

C# 10 で導入された [CallerArgumentExpression] 属性を使用すると、メソッドパラメーターに渡される式の文字列表現をキャプチャーできます。これは、ログ記録、検証、デバッグに役立ちます。この属性でマークされた API を使用している場合、対応する引数の文字列表現を別の引数で渡す必要はありません。そのため、ReSharper はこれを冗長であると報告し、削除することを提案しています。以下の例では、属性はメソッドのパラメーターに適用されています。つまり、の引数を指定せずにを呼び...