ReSharper 2026.1 Help

コードインスペクション: if ステートメントを null 伝播コードに置き換える

null チェックはよく行うものです。例えば、プロパティを呼び出すときに null 参照例外を防ぐためなどです。 多数の null チェックのために if ステートメントを使うと、コードが煩雑かつ冗長になります。 バージョン 6.0 以降、C# ではより短い表記法として null 条件演算子が使えるようになりました。 これにより、呼び出しチェーン内の式で null チェックを行うことができ、これを null 伝播と呼びます。 このような表記法は一行で記述できますが、if-else ステートメントは通常複数行を必要とします。

以下の例では、メンバーアクセス ?. で null 条件演算子を使用すると、4 行のコードが節約されます。

public string GetName(object name) { if (name != null) { return name.ToString(); } return null; }
public string GetName(object name) { return name?.ToString(); }
2026 年 6 月 12 日