可能なすべての配列初期化構文 質問する

可能なすべての配列初期化構文 質問する

C# で可能な配列初期化構文は何ですか?

ベストアンサー1

これらは、単純な配列の現在の宣言および初期化メソッドです。

string[] array = new string[2]; // creates array of length 2, default values
string[] array = new string[] { "A", "B" }; // creates populated array of length 2
string[] array = { "A" , "B" }; // creates populated array of length 2
string[] array = new[] { "A", "B" }; // creates populated array of length 2
string[] array = ["A", "B"]; // creates populated array of length 2

ToArray()のLinq 拡張機能など、配列を取得する他の手法も存在することに注意してくださいIEnumerable<T>

また、上記の宣言では、最初の 2 つはstring[]左側の をvar(C# 3+) に置き換えることができます。右側の情報だけで適切な型を推測できるからです。3 行目は表示されているとおりに記述する必要があります。配列初期化構文だけではコンパイラの要求を満たすのに十分ではないからです。4 行目も推論を使用できます。5 行目は、ターゲット型を推測できない場合のコレクション式として C# 12 で導入されました。これは、スパンとリストにも使用できます。簡潔さを重視したい場合は、上記の記述は次のように記述できます。

var array = new string[2]; // creates array of length 2, default values
var array = new string[] { "A", "B" }; // creates populated array of length 2
string[] array = { "A" , "B" }; // creates populated array of length 2
var array = new[] { "A", "B" }; // created populated array of length 2
string[] array = ["A", "B"]; // creates populated array of length 2

おすすめ記事