C#装箱拆箱的底层意义

inti=1;//是在栈中开辟了一个空间A存放1吗?objecto=i;//装箱的时候,是把空间A复制到垃圾回收站还是堆还是别的什么地方.然后引用到那个地址的吗?i=2;... int i=1;//是在栈中开辟了一个空间A存放1吗?
object o=i;//装箱的时候,是把空间A复制到垃圾回收站还是堆还是别的什么地方.然后引用到那个地址的吗?
i=2;//是把原来的空间A删除,是重新开辟一个空间B来存放的吗??如果不是的话是覆盖空间A来存储2的吗?
知道的人请指导我一下.对C#底层的东西还不是太明白.问题有点小白,请大家勿见怪!
展开
 我来答
swordlance
2010-11-22 · TA获得超过1008个赞
知道小有建树答主
回答量:535
采纳率:75%
帮助的人:449万
展开全部
int i=1;//对就是在栈上开辟了一个空间存放1
object o=i;//在托管堆申请一个object类型的空间,将1这个栈上的值复制到object内部存放值的位置。
i=2;//覆盖A来存储2
传奇勇者
2010-11-23 · TA获得超过747个赞
知道大有可为答主
回答量:1706
采纳率:75%
帮助的人:812万
展开全部
变量释放以前空间不会改变。
说到装箱的实质,其实没什么意思,就是为了定义一个变量而已,在其他语言中很方便,随便定义就行了,但是C#为了变量和代码安全,全弄成动态了,而且把他们都放到特定的地方了,这样比如如果你忘记释放的话,变量也会自己释放。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式