JetBrains Rider 2026.1 Help

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

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

そのため、JetBrains Rider が if 式を使って変数が null かどうかを確認した後に変数への代入が行われている場合、 ??= 演算子を使って代入を簡略化することを提案します。

class TypeCheck { Type CheckType(object obj) { if (obj == null) obj = new { }; return obj.GetType(); } }
class TypeCheck { Type CheckType(object obj) { obj ??= new { }; return obj.GetType(); } }

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

2026 年 6 月 12 日