装箱是将值类型转换为引用类型 ;拆箱是将引用类型转换为值类型
利用装箱和拆箱功能,可通过允许值类型的任何值与Object 类型的值相互转换,将值类型与引用类型链接起来
例如:
int val = 100;
object obj = val;
Console.WriteLine (“对象的值 = {0}", obj);
这是一个装箱的过程,是将值类型转换为引用类型的过程
int val = 100;
object obj = val;
int num = (int) obj;
Console.WriteLine ("num: {0}", num);
这是一个拆箱的过程,是将值类型转换为引用类型,再由引用类型转换为值类型的过程
注:被装过箱的对象才能被拆箱
i=2000; object o=i; i++; int j=(int)o; Console.WriteLine("i={0},o={1},j={3}",i,o,j);
结果:
i=2001,o=2000,j=2000 j和o相等容易理解,因为他们是同一个对象的引用。object o=i;的过程中对i进行装箱操作,o变成了i的一个副本,所以,对i后来进行的加一操作,对o是无效的。