在 C# 中结构与类的区别一文中,已经介绍了 struct 的相关知识,本文就结合应用作些强调、补充、修正。
关于字段
不能在声明字段时初始化它,除非字段被标明为 const 或 static。
关于构造函数
构造函数必须有参数。
构造函数中必须为所有的字段赋值。
说明
结构并不是没有默认的构造函数,而是不允许在结构中声明,也就是说结构中的构造函数必须有参数,但在使用 new 时可以使用没有参数的构造函数。《C# 中结构与类的区别》一文中说结构“没有默认的构造函数”,这种说法有误。
要不要使用 new
如果使用结构中的属性、方法,则必须使用 new,否则可以不使用 new。


