だらだらやるよ。

こげつのIT技術メモ

C#3.0機能紹介その4。初期化

オブジェクトとコレクションを初期化するときの構文が追加されていますね
オブジェクトを初期化する際に、同時にプロパティの値を設定できるようになりました。
たとえばこんなクラスがある状態で

class D {
    string property1;
    string property2;
    public string Property1 {
        get { return property1; }
        set { property1 = value; }
    }
    public string Property2 {
        get { return property2; }
        set { property2 = value; }
    }
}

以下のd1の初期化とd2の初期化コードは同じように動作します。

D d1 = new D() { Property1 = "a",Property2 = "b" }; 

D d2 = new D();
d2.Property1 = "a";
d2.Property2 = "b";

続いてコレクションの初期化
値を入れて初期化したい場合、今まではこんな感じで書いてました

List<String> s = new List<string>(new String[] { "a","b","c" });

それがこんな風に書けます。

List<String> ls = new List<string>() { "a","b","c" };