C#装箱与拆箱

C#装箱与拆箱

第一次写博客,有什么错误,希望大家指正。这一类的文章网上有很多,之所以要写这一篇,是希望能帮助刚入门的同学快速理解它。好了,进入正题——C#装箱与拆箱:


要理解装箱与拆箱,首先要知道C#的数据类型。C#数据类型主要分为两类:值类型(int,uint,long,float,double,struct…)与引用类型(class,object,interface,string…),这两种类型的存储方式不同。如图所示:

a、值类型只需要一段单独的内存,用于存储实际的数据(栈)
b、引用类型需要两段内存。
……第一段存储实际的数据,位于堆中(堆)
……第二段是一个引用,指向对中存放数据的位置

这里写图片描述

装箱与拆箱其实就是值类型与引用类型之间的装换。

值类型—>引用类型:装箱
引用类型—>值类型:拆箱

装箱与拆箱的操作都是有系统自动完成成,只要存在两种类型之间的转换,就会有装箱与拆箱。个人认为:对于刚开始学习C#的同学来说,不必纠结于什么是装箱与拆箱,因为这都是系统自动完成的,只需要知道为什么有这两个概念就可以了。最后写一个例子,帮助理解:

int a=10;//值类型
object obj=i;//object为引用类型——装箱
int j=(int)obj;//引用类型转换为值类——拆箱

如果想更详细的了解装箱与拆箱,可以看看这一篇博客(转载):

http://blog.csdn.net/gengyudan/article/details/9142405(浅谈C#装箱与拆箱)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值