2007年09月03日

C#3.0:コレクションの初期化

   このエントリーをはてなブックマークに追加 Clip to Evernote
今までだと、

List の初期化って、とっても面倒だった。

 List<int> ds = new List<int>(new int[] { 0, 1, 2, 3, 4, 5 });

コンストラクタの引数のなかで、配列オブジェクトを new してやる必要があったけれど、C#3.0ならば、

var digits = new List<int> { 0, 1, 2, 3, 4, 5 };

と書ける。
便利ですね。

Listの要素がクラスの場合にも、

var contacts = new List<Contact> {
new Contact {
Name = "smith",
PhoneNumbers = { "222-333-4444", "222-333-5555" }
},
new Contact {
Name = "Harris",
PhoneNumbers = { "444-555-6666" }
},
};

※ Contactクラスは定義済みと仮定。

と書ける。

元ネタ:C# バージョン 3.0 仕様
http://download.microsoft.com/download/B/6/C/B6C2DA74-08F9-4B18-BB10-CF6DB1A5CFE2/csharp_30_specification.doc


 

この記事へのトラックバックURL

http://trackback.blogsys.jp/livedoor/gushwell/51104660