对象与集合初始化器
public class Point {
int x, y;
public int X { get { return x; } set { x = value; } }
public int Y { get { return y; } set { y = value; } }
}
var a = new Point { X = 0, Y = 1 };
相当于:var a = new Point(); a.X = 0; a.Y = 1;
集合初始化器:
List<int> num= new List<int> { 0, 1, 2, 6, 7, 8, 9 };
对象与集合初始化器要点
• 对象初始化器实际上利用了编译器对对象中对外可见的字段和属性进行按序赋值。
• 集合初始化器会对初始化器中的元素进行按序调用ICollection<T>.Add(T) 。
•注意对象初始化器和集合初始化器中成员的可见性和调用顺序。
•对象与集合初始化器同样是一种编译时技术。