c#中值类型和引用类型的区别

概念 

值类型直接存储其值,而引用类型存储对其值的引用。部署:托管堆上部署了所有引用类型。

引用类型:基类为Objcet

值类型:均隐式派生自System.ValueType:

两者的区别

1、速度上的区别

值类型存取速度快,引用类型存取速度慢。

2、用途上的区别

值类型表示实际数据,引用类型表示指向存储在内存堆中的数据的指针或引用。

3、来源上的区别

值类型继承自System.ValueType,引用类型继承自System.Object

4、位置上的区别

值类型的数据存储在内存的栈中,引用类型的数据存储在内存的堆中,而内存单元中只存放堆中对象的地址。

5、类型上的区别

值类型的变量直接存放实际的数据,而引用类型的变量存放的则是数据的地址,即对象的引用。

6、保存位置上的区别

值类型变量直接把变量的值保存在堆栈中,引用类型的变量把实际数据的地址保存在堆栈中,而实际数据则保存在堆中。

发布了70 篇原创文章 · 获赞 14 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_43472073/article/details/104295580
今日推荐