装箱是将值类型转换为 object
类型或由此值类型实现的任何接口类型的过程。取消装箱将从对象中提取值类型。装箱是隐式的;取消装箱是显式的。
协变和逆变是引用类型的类型转换,装箱和拆箱则是值类型的类型转换。
看一下例子就能明白
下例将整型变量 i
进行了装箱并分配给对象 o
。
int i = 123;
// The following line boxes i.
object o = i;
然后,可以将对象 o
取消装箱并分配给整型变量 i
:
o = 123;
i = (int)o; // unboxing