コードインスペクション: if ステートメントを null 伝播コードに置き換える
null チェックは、たとえばプロパティを呼び出す際の null 参照例外を防ぐためによく行われます。 多数の null チェックに if ステートメントを使うと、コードが扱いにくく長くなります。 バージョン 6.0 から、C# ではより短い表記法、 null 条件演算子がサポートされました。 これにより、呼び出しチェーン内で null かどうか複数の式を確認できます。これは null 伝播と呼ばれます。 このような表記法は 1 行で書けますが、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 日