概念
值类型直接存储其值,而引用类型存储对其值的引用。部署:托管堆上部署了所有引用类型。
引用类型:基类为Objcet
值类型:均隐式派生自System.ValueType:
两者的区别
1、速度上的区别
值类型存取速度快,引用类型存取速度慢。
2、用途上的区别
值类型表示实际数据,引用类型表示指向存储在内存堆中的数据的指针或引用。
3、来源上的区别
值类型继承自System.ValueType,引用类型继承自System.Object
4、位置上的区别
值类型的数据存储在内存的栈中,引用类型的数据存储在内存的堆中,而内存单元中只存放堆中对象的地址。
5、类型上的区别
值类型的变量直接存放实际的数据,而引用类型的变量存放的则是数据的地址,即对象的引用。
6、保存位置上的区别
值类型变量直接把变量的值保存在堆栈中,引用类型的变量把实际数据的地址保存在堆栈中,而实际数据则保存在堆中。