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="太郎", .....}
の部分は、オブジェクトを初期化する際の書き方(オブジェクト初期化子)です。