摘要:
在面试中, 面试官提到装箱和拆箱的问题时,可能很多人想到的第一句话是“装箱是将值类型转化为引用类型的过程;拆箱是将引用类型转化为值类型的过程”。这句话没有问题,但是仅仅只说出这句话而没有下文的话那就不是一个中级.Net程序员的水平。
实际上装箱和拆箱这个名字就很形象,“箱”指的就是托管堆,装箱即指在托管堆中将在栈上的值类型对象封装,生成一份该值类型对象的副本,并返回该副本的地址。而拆箱即是指返回已装箱值类型在托管堆中的地址(注意:严格意义来说拆箱是不包括值类型字段的拷贝的)。 阅读全文