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

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

值类型特征:

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

 

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

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

 

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

原文地址:https://www.cnblogs.com/haokaibo/p/2102045.html