c#装箱和拆箱
概念:
装箱:将值类型转换为引用类型的过程叫做装箱 值类型->引用类型
相反,
拆箱:将引用类型转换为值类型 叫做拆箱 引用类型->值类型
装箱例子:
int i = 2008;
object obj = i;
Console.WriteLine("1 i的值为{0},装箱之后的值{1}",i,obj);
i = 927;
Console.WriteLine("1 i的值为{0},装箱之后的值{1}", i, obj);
Console.ReadLine();
结果: 2008 2008
927 2008
从程序运行的结果可以看出,值类型变量的值复制到装箱得到的对象中,装箱后改变值类型变量的值,并不会影响装箱对象的值。
拆箱例子:
int i = 112;
object obj = i;
Console.WriteLine("1 i的值为{0},装箱之后的值{1}", i, obj);
//拆箱
int j = (int)obj;
Console.WriteLine("1 i的值为{0},装箱之后的值{1}", i, j);
Console.ReadLine();
从结果中看出,拆箱后得到的值类型数据的值与装箱对象相等。