装箱和拆箱

装箱

需要将值类型(存储在栈中)转化为引用类型(存储在堆中)来进行统一操作和存储时用到装箱。

其本质是 在堆上创建了引用类型的副本,新创建的引用类型和原来的值类型相互独立(各自变化,互不影响)。

//装箱
                int i = 3;
                object oi = null;
                oi = i;
                Console.WriteLine("i= " + i + " " + "io= " + oi);
                i = 7;
                oi = 10;
                Console.WriteLine("i= " + i + " " + "io= " + oi);

拆箱:将装箱后的对象转换为值类型的过程(显式转换),装箱的逆操作。

  //拆箱
                int j=(int)oi;
                Console.WriteLine("j= "+j);
原文地址:https://www.cnblogs.com/cicily/p/10931381.html