有時是在類名後指定一個初始化列表不使用()運算符:C#初始化程序列表 - 何時在類名後面使用()運算符?
Cat cat = new Cat { Age = 10, Name = "Fluffy" }
是()運算符後指定的其他時間:
List<Cat> cats = new List<Cat>
{
new Cat(){ Name = "Sylvester", Age=8 }
}
我假設的差異因爲這裏有新的Cat()在列表中。但我仍然不明白爲什麼它應該是不同的。那麼爲什麼不同,以及何時使用哪種語法?
謝謝。
[爲什麼C#3.0對象初始值設定器的構造函數括號是可選的?](http://stackoverflow.com/questions/3661025/why-are-c-sharp-3-0-object-initializer-constructor-parentheses -optional) – CharlesB