コードインスペクション:条件付きアクセス修飾子式が null または null でないことが判明しています
このインスペクションは、修飾子がすでにそのプログラムポイントで判明している場合に、条件付きアクセス式を報告します。 実際には、アナライザーは修飾子が確実に非 null または確実に null であることを証明しているため、 ?. はもはや実際の条件を表しません。
これは、制御フローによって値が非 null であることがすでに確認された後、または非 null 値型の結果に対して ?. が使用された場合に最もよく発生します。
修飾子が確実に null の場合、条件付きアクセス全体は事実上デッドコードであり、通常は書き換えるか削除する必要があります。
if (text != null)
{
int length = text?.Length ?? 0;
}
if (text != null)
{
int length = text.Length;
}
2026 年 6 月 12 日