笨小孩做开发

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

拆箱、装箱

值类型赋值给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  笨小孩做开发  阅读(251)  评论(0编辑  收藏  举报