C#装箱和拆箱 装箱(box) 值类型隐式转换为object类型或由此类型实现的任何接口类型的过程。 内部机制: 1.在堆中开辟内存空间。 2.将值类型的数据复制到堆中。 3.返回堆中新分配对象的地址。 例: int a = 10; object o = a;// 装箱操作 解释:int a = 10;代码在栈区声明临时变量,开辟一块内存区域。 object o = a; 代码在栈区中声明临时变量,在堆区中开辟一块内存空间,指向这块内存区域。内存区域包括三小块的内存:1.int值(即a的值)。2.同步块索引。3.类型对象指针。"比较"消耗性能(比拆箱高一点)。 拆箱(u