结构与类的区别
结构在以下几个重要方面和类是不同的:
- 结构是值类型。
- 所有结构类型均从类 System.ValueType 隐式继承。
- 对结构类型变量进行赋值意味着将创建所赋的值的一个副本。
- 结构的默认值的计算如下:将所有值类型字段设置为它们的默认值,并将所有引用类型字段设置为 null,这样就产生了该结构的默认值。
- 使用装箱和取消装箱操作在结构类型和 object 之间进行转换。
- 对于结构,this 的意义不同。
- 结构的实例字段声明中不允许包含变量初始值设定。
- 在结构中不能声明无形参的实例构造函数。
- 在结构中不允许声明析构函数。