JetBrains Rider 2026.1 Help

コードインスペクション: 作成される型が明らかな場合は「new」式の推奨スタイルを使用する

C# 9.0 以降、型が推論できる場合は、明示的な型指定なしでターゲット型付き new 演算子を使ってオブジェクトを作成できます。つまり、 List<string> _myList = new(); の代わりに List<string> _myList = new List<string>(); を使います。

コンテキストに応じて、オプションの型指定は、冗長な情報でコードを乱雑にするか、逆に読みやすさを向上させる可能性があります。

このインスペクションは、次の場合のように、作成された型が使用箇所から明らかな場合に、オブジェクト作成式のコードスタイル設定を制御します。

  • フィールド / 定数 / プロパティ / イベントの初期化子 private Test field = new()

  • 明示的な型が優先される場合のローカル変数の初期化子 Test local = new()

  • 式本体のメンバーの戻り値 public List <Test> M() => new()

  • 配列初期化子 new Test[] { new(), new() } 内の値

  • コレクション初期化子 new List <Test> { new(), new() } 内の値

  • デフォルトのパラメーター値 void M(TestStruct arg = new()) { }

デフォルトでは、JetBrains Rider は明らかな場合に型指定を冗長としてハイライトし、削除を支援します:

JetBrains Rider 構文スタイルインスペクション: ターゲットタイプの新しいを使用する

コード内の new 演算子に別のスタイルを使用する場合は、 対応する設定を変更できます。

詳細については、 コードの構文スタイル: オブジェクトの作成(「new()」と「新しい T()」) を参照してください。

2026 年 6 月 12 日