[C#][C# 12] 配列やListを[]で作れるCollection Expressions

スポンサーリンク

はじめに

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:

コメント

タイトルとURLをコピーしました