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