C#中类初始值设定项之间的差异?
可能重复:C#中类初始值设定项之间的差异?,c#,.net,class,object,instantiation,C#,.net,Class,Object,Instantiation,可能重复: 使用 classInstance=newclass(){prop1=“”,prop2=“”} 及 classInstance=新类{prop1=”“,prop2=”“}简短回答:没有。如果要传入一些构造函数参数,但 在您的情况下,因为您没有,所以可以跳过() 例如,()在这里很有用 Foo foo = new Foo(someBar){Prop1 = "value1", Prop2 = value2}; 但是如果您试图调用无参数构造函数,那么它是可选的 Foo foo =
使用
classInstance=newclass(){prop1=“”,prop2=“”}代码>
及
classInstance=新类{prop1=”“,prop2=”“}代码>简短回答:没有。如果要传入一些构造函数参数,但
在您的情况下,因为您没有,所以可以跳过()
例如,()
在这里很有用
Foo foo = new Foo(someBar){Prop1 = "value1", Prop2 = value2};
但是如果您试图调用无参数构造函数,那么它是可选的
Foo foo = new Foo {Prop1 = "value1", Prop2 = value2};
没什么。第二条只是第一条的捷径。第一种方法允许您将参数包含到构造函数中。因此,如果类没有空构造函数,就不能使用快捷方式
您可能对此问题感兴趣:
还有Eric Lippert的博文:
除了语法之外没有其他区别,您仍在以任何方式调用无参数构造函数。是否需要在其中添加新关键字?