C#中的结构体要使用new来实例化吗?还是直接声明后直接使用?

C#中的结构体要使用new来实例化吗?还是直接声明后直接使用?


暮色呼如
浏览 1601回答 3
3回答

慕标5832272

声明结构的默认(无参数)构造函数是错误的。总是提供默认构造函数以将结构成员初始化为它们的默认值。在结构中初始化实例字段也是错误的。如果使用 new 运算符创建结构对象,则会创建该结构对象,并调用适当的构造函数。与类不同,结构的实例化可以不使用 new 运算符。如果不使用 new,则在初始化所有字段之前,字段都保持未赋值状态且对象不可用。

慕运维8079593

结构无需进行new,就可以直接使用比如:MyStruct struct;struct.Method();对于类的话,这是错误的原因如下:结构为值类型,而new用于为引用类型(类、对象、接口等)分配引用(内存地址),值类型存储于堆中,无需使用new。比如:int x;和MyStruct struct;是一样的道理这的x、struct都是值类型的最后结构可以用new 也可以不用new 
打开App,查看更多内容
随时随地看视频慕课网APP