为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

C#
暮色呼如 2019-03-22 15:14:11
C#中的结构体要使用new来实例化吗?还是直接声明后直接使用?
查看完整描述

3 回答

?
慕标5832272

TA贡献1966条经验 获得超4个赞

声明结构的默认(无参数)构造函数是错误的。总是提供默认构造函数以将结构成员初始化为它们的默认值。在结构中初始化实例字段也是错误的。

如果使用 new 运算符创建结构对象,则会创建该结构对象,并调用适当的构造函数。与类不同,结构的实例化可以不使用 new 运算符。如果不使用 new,则在初始化所有字段之前,字段都保持未赋值状态且对象不可用。

查看完整回答
反对 回复 2019-03-27
?
慕运维8079593

TA贡献1876条经验 获得超5个赞

结构无需进行new,就可以直接使用
比如:
MyStruct struct;
struct.Method();
对于类的话,这是错误的

原因如下:
结构为值类型,而new用于为引用类型(类、对象、接口等)分配引用(内存地址),值类型存储于堆中,无需使用new。
比如:
int x;和MyStruct struct;
是一样的道理
这的x、struct都是值类型的

最后结构可以用new 也可以不用new


 


查看完整回答
反对 回复 2019-03-27
  • 3 回答
  • 0 关注
  • 1600 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信