.Net中的结构体与类
.Net提供了结构体(Structure / struct)和类(Class / class)两种数据结构的组织方法,其主要差异包括:
- 结构体不能包含显式的无参数构造函数。结构成员在初始化时,自动初始化为它们的默认值。
- 对于结构中的实例字段成员,不能在声明时赋值初始化。
- 声明了结构类型后,可以使用New运算符创建构造对象,也可以不使用New关键字。如果不使用New,那么在初始化所有字段之前,字段将保持未赋值状态且对象不可用。
- 结构不支持继承。但可以实现接口。
- 结构在堆栈中创建,是值类型,而类是引用类型。拷贝结构体时,默认执行深复制,即每个字段均被拷贝为一个新的实例;而拷贝类时,执行影复制(浅复制),复制的是类的实例的地址。
页面版本: 1, 最后编辑于: 11 Feb 2023 17:00