ReSharper 2026.1 Help

コードインスペクション: 'if' ステートメントは '??' 式に書き換えることができます

値を代入したり、引数を渡したり、識別子の NULL 可能性に基づいてメソッドから戻る場合は、これらの場合に使用できる最もわかりやすい構文は ?? (null-coalescing) 演算子です。

そのため、ReSharper が上記のコンテキストで if 演算子に遭遇した場合、 ?? 演算子を使って式を簡略化することを提案します。

このインスペクションが提案する クイックフィックスの例を以下に示します。

private string _name; public string Name { get { if (_name == null) _name = "Anonymous"; return _name; } set { _name = value; } }
private string _name; public string Name { get { return _name ?? (_name = "Anonymous"); } set { _name = value; } }

両方のオペレーターのパフォーマンスについて言えば、目に見える違いはありません。 実際、 ?? の方がほんの少しだけ高速です。

2026 年 6 月 12 日