【发布时间】:2011-12-07 17:38:40
【问题描述】:
为什么我们不强制实例化一个结构,就像使用一个类时一样?
【问题讨论】:
-
有例外。如果您有一个在结构中带有参数的构造函数,则需要使用“new”。
-
@thewpfguy:在 C# 中,
myVar=new MyStruct(5);` 大致相当于MyStruct temp; myStruct.ctor(out temp, 5); myVar = temp;或myStruct..ctor(ref myVar, 5);,编译器在认为时使用后者(更快) 相当于前者。在 vb.net 中,它相当于myVar = new MyStruct; myStruct..ctor(myVar, 5);。在任何情况下,new语法都不负责在myVar中创建结构实例。 -
@ColonelPanic
default(T)
标签: c# .net struct instantiation