值类型

  • 值类型变量都存储在堆栈中。
  • 访问值类型变量时,一般都是直接访问其实例。
  • 每个值类型变量都有自己的数据副本,因此对一个值类型的变量的操作不会影响其他的变量。
  • 复制值类型变量时,复制的是变量的值,而不是变量的地址。
  • 值类型变量不能为null,必须具有一个确定的值。

引用类型

  • 必须在托管堆中为引用类型变量分配内存。
  • 必须使用new关键字来创建引用类型变量。
  • 在托管堆中分配的每个对象都有与之相关联的附加成员,这些成员必须被初始化。
  • 引用类型变量是由垃圾回收机制来管理的。
  • 多个引用类型变量都可以引用同一个对象,这种情形下,对一个变量的操作会影响另一个变量所引用的同一对象。
  • 引用类型被赋值之前的值都是null。

链接:值类型和引用类型

相关文章: