假设有以下类:
cs
public class TestA
{
public string A { get; set; } = "aa";
public TestA()
{
A = "a";
}
}
然后利用对象初始化器获取它的对象:
cs
TestA a = new TestA { A = "AA" };
问:这个时候a的A属性的值是啥?
答:"AA"
原因:
一个实例构造出来的时候运作顺序是
- 成员上赋值的初始值
- 构造器中的赋值
- 对象初始化器赋值