在.NET中,struct和class有什么区别?在.NET中,struct和class有什么区别?
3 回答
ITMISS
TA贡献1871条经验 获得超8个赞
价值类型
总是包含一个值 参考类型
可以包含 零
-参考,意思是他们现在什么都不提
复制 价值类型
变量到另一个变量中,将整个内容复制到新变量中,从而使这两个变量区别开来。换句话说,在复制后,对其中一个的更改不会影响另一个 复制 参考类型
变量到另一个变量中,复制引用,这意味着您现在有两个对同一个变量的引用。 其他地方
实际数据的存储。换句话说,在复制之后,更改一个引用中的数据似乎也会影响另一个引用,但这只是因为您实际上只是查看两个地方的相同数据
变量: 价值类型
住在垃圾堆上, 参考类型
作为指向堆内存中实际内存所在的某个位置的指针(尽管请注意) 类/结构字段: 价值类型
完全生活在这种类型中, 参考类型
作为指向堆内存中实际内存所在的某个位置的指针,驻留在该类型中。
手掌心
TA贡献1942条经验 获得超3个赞
只上课:
可以支持继承 是引用(指针)类型 引用可以为空。 每个新实例的内存开销
仅结构:
不能支持继承 是值类型 通过值传递(如整数)。 不能具有空引用(除非使用了Nullable) 不要为每个新实例设置内存开销-除非“装箱”。
类和结构:
复合数据类型通常用于包含一些具有某种逻辑关系的变量。 可以包含方法和事件。 可以支持接口
- 3 回答
- 0 关注
- 565 浏览
添加回答
举报
0/150
提交
取消