コードインスペクション:シーケンシャルチェックを単一の条件付きアクセスチェックにマージする
null比較や類似のチェックを行う際、例えば HasValue を 条件付きAND(&&) または 条件付きOR(||) 演算の左側で使用し、その後右側でこのシンボルやそのメンバーに対する他のチェックを行う場合、JetBrains Rider はこれらの連続したチェックをまとめて処理を簡素化することをよく提案します。 多くの場合、C# 6.0 で導入された null 条件演算子(?.) がこれを支援します。
JetBrains Rider が提案する変換例をいくつかご紹介します:
if (p == null || p.Arguments == null)>if (p?.Arguments == null)if (t != null && t.Value is TimeSpan)>if (t?.Value is TimeSpan)if (arg != null && arg is IConvertible)>if (arg is IConvertible)
2026 年 6 月 12 日