Effective C# 学习笔记(十八)区分值类型和引用类型
2011-07-09 23:21 小郝(Kaibo Hao) 阅读(304) 评论(0) 编辑 收藏 举报一般的原则是:值类型用于存储数据,类来定义行为。
值类型特征:
- 值类型在对其属性访问时会拷贝值创建新的对象,而不会修改原来的值。
- 值类型对OO支持不够,虽然其可以实现接口,但是其在装箱时相当消耗资源。
- 值类型利用基于栈的存储空间进行数据存储
在以下情景下请使用值类型
- 类型的原则性职责是存储数据
- 都是通过属性方式访问数据
- 确保对该类型没有子类
- 确保该类型不会产生多态
除此之外请使用引用类型。
作者:小郝
出处:http://www.cnblogs.com/haokaibo/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
出处:http://www.cnblogs.com/haokaibo/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .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 中如何实现缓存的预热?