c#中对象初始化之间的差异

fir*_*ter 0 c#

只是想知道两个对象初始化之间是否有任何区别?

我应该使用哪一个?

有和没有括号()

var data = new Apple()
{
 Color = "red", 
 Taste = "good"
}
Run Code Online (Sandbox Code Playgroud)

var data = new Apple
{
Color = "red", 
Taste = "good"
}
Run Code Online (Sandbox Code Playgroud)

Kin*_*ing 7

当你使用第二种形式时,实际上它被编译为第一种形式.第二种形式意味着您要使用无参数构造函数.要小心,因为如果你的类没有任何无参数构造函数你就不能使用它,当然第一种形式也不能使用.