Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#中类初始值设定项之间的差异?_C#_.net_Class_Object_Instantiation - Fatal编程技术网

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的博文:


除了语法之外没有其他区别,您仍在以任何方式调用无参数构造函数。

是否需要在其中添加新关键字?