Listを初期化する書き方について。
簡単なことなんですが、いろいろな言語触ってると書き方を忘れてしまうので。。自分向けメモです。
stringクラスを内包するListを初期化
stringを内包するSystem.Collections.Generic.Listを初期化する場合は以下の様に書きます。
var val = new System.Collections.Generic.List(){ "aaa" ,"bbb" };
では、独自クラスの場合はどのように書けばよいのでしょうか
独自クラスを内包するListを初期化してみる
例として、以下の様な”社員クラス”があったとします
class Employee { /// <summary> /// 名前 /// </summary> public string FirstName { get; set; } /// <summary> /// 苗字 /// </summary> public string LastName { get; set; } /// <summary> /// 生年月日 /// </summary> public DateTime Birthday { get; set; } /// <summary> /// 性別 (1:男性 2:女性) /// </summary> public int Gender { get; set; } /// <summary> /// 入社日 /// </summary> public DateTime Joined { get; set; } }
で、このクラスを内包するSystem.Collections.Generic.Listを初期化するコードは以下になります
var emp = new System.Collections.Generic.List() { new Employee{FirstName="山田", LastName="太郎", Birthday=new DateTime(1990,10,2,0,0,0), Joined=new DateTime(2012,4,1,0,0,0), Gender=1} ,new Employee{FirstName="鈴木", LastName="花子", Birthday=new DateTime(1992,12,4,0,0,0), Joined=new DateTime(2014,4,1,0,0,0), Gender=2} };
上記コードの内、
new Employee{FirstName="山田", LastName="太郎", .....}
の部分は、オブジェクトを初期化する際の書き方(オブジェクト初期化子)です。