C#引用类型与值类型

C#中分为值类型和引用类型。
值类型不能直接就说是存在栈区(这是错误的结论)。在类实例化后中的数据,全部都是存储在堆区。

引用类型也不能直接说栈区堆区什么的。

正确的解释应该是:1.值类型是直接存储数据。

                                2.引用类型是存储数据的引用。例如:数组,他的数据实际是位于堆区的,而声明中存储的只是一个数据的引用。

值类型相对于引用类型优点:值类型是直接存储数据,而引用类型是先在堆区开辟空间,然后在存数据的引用,要比值类型多一次寻址的过程,相对值类型来说访问速度慢一些。

值类型相对于引用类型的缺点:值类型是直接存储的数据,这会导致直接存储的数据庞大,如果值类型声明在栈区,那数据都存储在栈区,这就直接导致庞大的数据直接都在栈上,而栈区相对堆区来说内存是比较小的,栈上数据太大不仅影响计算机运行速度,更甚者会导致栈溢出,从而导致程序奔溃,而引用类型不存在此问题。

 

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值