[From 10.1~10.5] 对象和集合初始化器(C#语法糖系列)

经常要构造一个对象并设置对象的一些公众属性(或字段)。
1.为了简化这个常见的编程模式,C#语言支持一种特殊的对象初始化语法。下面是一个例子:
Employee e = new Employee(){ Name = "Jeff",Age = 45};
2.如果属性的类型实现了IEnumerable或IEnumerable<T>接口,属性就被认为是集合,而集合的初始化是一种相加(additive)操作,而非替换(replacement)操作。例如,假定有下面这个类定义:
public sealed class Classroom{
    private List<String> m_students = new List<String>();
    public List<String> Students {get{return m_studentsl}}
 
    public Classroom(){};
}
注意:如果属性的类型实现了IEnumerable或IEnumerable<T>,但未提供Add方法,编译器就不允许使用集合初始化向集合种添加数据项。
posted @ 2018-12-28 14:30  Real陈麟  阅读(193)  评论(0编辑  收藏  举报