拆箱、装箱

值类型赋值给Object类型变量的时候,会发生装箱:包装成Object。ValueType不也是继承自Object吗(CLR内部处理); 

Object类型变量赋值给值类型赋值的时候会发生拆箱,需要做显式转换。 

下面几句代码有没有错,解释一下内存是怎么变化的

int i=10;

object obj = i;//装箱 内存由栈内存转为堆内存

int j = obj;//错误

long j = (long)obj;//错误 拆箱的时候要和装箱时的数据类型一样

int j = (int)obj;//拆箱 内存由堆内存转为栈内存

 

更多技术请关注

posted on 2019-05-23 11:00 笨小孩做开发 阅读() 评论() 编辑 收藏
版权声明:本文为dullbaby原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/dullbaby/p/10910672.html