C# 所有变量存储都需要一个存储空间,在代码发生装箱操作后,object是如何存储这个类型的,存在哪里?

如:将inta=10装箱后,10会被存在哪里?是怎么存储的,谢谢... 如:将int a=10 装箱后,10会被存在哪里?是怎么存储的,谢谢 展开
 我来答
我们都是三好学生
2017-07-25
知道答主
回答量:22
采纳率:100%
帮助的人:2万
展开全部
针对你的 int a=10来说,如果装箱object b= a , 将a装箱,b引用装箱对象a,也就是a装箱后将引用赋值给b, 这时候CLR将原来存储在栈上的值10直接移至到托管堆上,但是实例引用a继续留在栈上 ,此时会为10 在堆上会分配一块内存,连同10一起存储的还有 对象类型指针、同步快索引,这时候在栈上留有a,b两个实例引用,托管堆上的10的指针同时指向a、b。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式