本帖最后由 宋清飞 于 2013-10-26 16:20 编辑
想把一个结构实例当做引用类型对象,就需要装箱。(是隐式转换)
拆箱就是把装箱后的对象转换回值类型。(是显式转换)
装箱:
装箱的过程实际就是制作值类型变量的引用类型副本。所以它的返回值是引用类型副本,在装箱之后,该值有两份副本——原始值类型和引用类型副本,每一个都可以独立操作。- int i=10; //创建并初始化值类型
- object oi=i; //创建并初始化引用类型
- Console.WriteLine("i:{0},io:{1}",i,oi);
- i=12;
- oi=15;
- Console.WriteLine("i:{0},io:{1}",i,oi);
- 结果如下:
- i:10, io:10
- i:12, io:15
复制代码 拆箱:- static void Main()
- {
- int i=10;
- object oi=i; //对i装箱并把引用赋值给oi
- int j=(int)oi; //对oi拆箱并把值赋值给j
- Console.WriteLine("i:{0},oi:{1},j:{2},i,oi,j");
复制代码 |