最終更新:2012-02-28 (火) 16:17:04 (4438d)  

オブジェクト初期化子
Top / オブジェクト初期化子

C♯ 3.0

Point p = new Point{ X = 0, Y = 1 };
  • オブジェクト初期化子で指定できるのは public なメンバー変数またはプロパティのみ
  • 初期化子を使うと、 プロパティへの値の代入を単文で書けるようになります。
  • これで何が嬉しいかというと、クラスのメンバー変数の初期化や、式木への代入が可能になります。
class Triangle
{
    public Point A = new Point { X = 0, Y = 0 };
    public Point B = new Point { X = 1, Y = 0 };
    public Point C = new Point { X = 0, Y = 1 };
    // ↑メンバー変数の初期化に複文は書けないの。
}

参考