代码改变世界

Effective C# 学习笔记(十八)区分值类型和引用类型

  小郝(Kaibo Hao)  阅读(304)  评论(0编辑  收藏  举报

一般的原则是:值类型用于存储数据,类来定义行为。

值类型特征:

  1. 值类型在对其属性访问时会拷贝值创建新的对象,而不会修改原来的值。
  2. 值类型对OO支持不够,虽然其可以实现接口,但是其在装箱时相当消耗资源。
  3. 值类型利用基于栈的存储空间进行数据存储

 

在以下情景下请使用值类型

  1. 类型的原则性职责是存储数据
  2. 都是通过属性方式访问数据
  3. 确保对该类型没有子类
  4. 确保该类型不会产生多态

 

除此之外请使用引用类型。

编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示