【06】拆箱、装箱

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

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

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

int i=10;
object obj = i;//装箱 内存由栈内存转为堆内存
int j = obj;//错误
long j = (long)obj;//错误 拆箱的时候要和装箱时的数据类型一样
int j = (int)obj;//拆箱 内存由堆内存转为栈内存

 

posted @ 2018-01-04 03:15  LolitaGIS的笔记  阅读(109)  评论(0编辑  收藏  举报