在C#中,为什么结构体不能添加无参构造方法?

在C#中,为什么结构体不能添加无参构造方法?,第1张

这个是硬性规定的,我的理解是:

因为struct不能设初始化器,也就是说,初始化时本身并没有初值,

你给它一个无参数的构造函数,假设你忘了在里面初始化数据,系统就不能生成这个struct,而且因为struct是值类型,也不能给你返回null,这就无法进行了。

所以为了安全起见,就这么规定,struct不能有无参构造函数。

public class Rectangle{

public Rectangle() {

//这个就表示无参的构造方法, 在你不写这个构造方法时, 创建对象 时,编译器会编译默认添加无参构造方法

}

public static void main(String[] args) {

Rectangle re =new Rectangle()

}

}


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11736021.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-18
下一篇2023-05-18

发表评论

登录后才能评论

评论列表(0条)

    保存