装箱和拆箱

装箱的过程
1.从托管堆中分配内存。分配的内存量是值类型的各个字段所需要的内存量加上托管堆上的所有对象都有的两

个额外的成员(即类型对象指针和同步块索引)所需要的内存量。
2.值类型的字段复制到新分配的堆内存。

3.返回对象的地址。现在这个地址是对一个对象的引用,值类型现在是一个引用类型。

 

拆箱的过程
1.包含对已装箱的值类型实例的引用的变量如果为null,就抛出一个NullReferenceException异常。

2.如果引用指向的对象不是所要求的值类型的一个已装箱实例,就抛出一个InvalidCastException异常。

 

posted on 2009-04-30 22:23  齐世昌  阅读(155)  评论(0编辑  收藏  举报