はじめに
C#で配列を初期化するときは、以前から次のように書いてきました。
int[] numbers = { 1, 2, 3 };
Listなら、
List names = new()
{
"Alice",
"Bob"
};
C# 12では、Collection Expressionsによって[]を使った統一的な書き方ができます。
[]でコレクションを作る
配列なら、
int[] numbers = [1, 2, 3];
Listも、
List names = ["Alice", "Bob"];
と書けます。
配列とListで見た目が揃うため、コードがすっきりします。
別のコレクションを展開する
さらに便利なのが..です。
int[] first = [1, 2, 3]; int[] numbers = [0, ..first, 4];
numbersの内容は、
0 1 2 3 4
となります。
JavaScriptなどのspread構文を知っている人には、かなり馴染みやすい書き方です。
型は受け側で決まる
Collection Expressionは、代入先の型に応じてコレクションが決まります。
int[] array = [1, 2, 3]; List list = [1, 2, 3];
同じ[1, 2, 3]でも受け側が違います。
そのため、型が分かる形で使うのがポイントです。
まとめ
C# 12以降では、
[1, 2, 3]
というシンプルな記法でコレクションを作れます。
さらに、
[..items]
で既存の要素を展開できます。
今回のTips:C# 12なら配列やListの初期化にCollection Expressionsを使える。
Please follow and like us:
コメント