问一个问题:
int i=42;
object ob=i;
这个是装箱操作,没错
那一下这个是装箱操作吗?
Circle cl=new Circle();
object ob=cl; 
其中Circle是一个类 如果说是装箱操作的,请说明原因.因为我认为不是装箱操作。

解决方案 »

  1.   

    这个我个人觉得不属于装箱。属于类型转换,其实就是向上映射吧。ob和cl同样指向heap中的一个内存区域。
    但是前者,i出于栈ob则出于堆。
      

  2.   

    你首先要了解boxing和unboxing针对是指类型数据还是引用类型数据,这方面你可以查看msdn中boxing可以了解的很清楚。
      

  3.   

    装箱转换是指将一个值类型隐式或显式地转换成一个object类型或者把这个值类型转换成一个被该值类型应用的接口类型(interface-type)。把一个值类型的值装箱,就是创建一个object实例并将这个值复制给这个object,装箱后的object对象中的数据位于堆中,堆中的地址在栈中。被装箱的类型的值是作为一个拷贝赋给对象的