装箱和拆箱是什么呢?装箱就是把一个值的类型转化为object类型,拆箱就是把这个object类型的值再转换为原来的类型。
 
代码倒是很简单的,将int类型的i值赋给object,这就是装箱,然后又定义一个int类型的x来接收j传来的值,这就是拆箱。
 
   int i = 1;  //备货
   object j = i;  //装箱
   int x = ( int)j; //拆箱取货
 
至于这个装箱和拆箱有什么实际用途,本人目前还不知道 。不过既然C#弄出来这个东西,自然有它的道理,估计以后学的深入了就知道了。
 
装箱和拆箱需要注意的问题是:装箱不但装进去了值,还装进去了原始的数据类型。
 
比如上面的代码,如果将最后一行这样写,就无法通过编译:
 
  double x = ( double)j;
 
原因是j在装箱的时候已经记录过了,这个数据是int类型的,不能在拆箱时候强制转换成double类型。改成下面的代码就没问题了:
 
double x = ( int)j;