ReSharper 2026.1 Help

コードインスペクション:連続したチェックを単一の条件付きアクセスチェックに統合する

例えば、null 比較や同様のチェック、たとえば HasValue条件付き AND(&&) または 条件付き OR(||) 演算の左側で行い、その後、右側でこのシンボルやそのメンバーに対して他のチェックを行う場合、ReSharper はこれらの連続したチェックをまとめて操作を簡素化することをよく提案します。 多くの場合、C# 6.0 で導入された null 条件演算子(?.) を使えば、これが可能です。

ReSharper が提案する変換例をいくつかご紹介します:

  • 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 日