C# 装箱和拆箱

装箱和拆箱用于在 C# 中将任何值类型、引用类型与object(对象) 类型之间进行转换。

有了装箱和拆箱,对任何类型的值都可以作为 object 类型。

装箱

装箱转换将一个值类型转换成一个 object 类型,或者转换成一个被该值类型应用的接口类型。

被装箱的类型的值是作为一个拷贝赋给 object 的。

int i=10;
object obj = i; // 隐式转换
int i=10;
object obj = object(i); // 显式转换

拆箱

拆箱是装箱的逆过程。

int i=10;
object obj=i;
int j=(int)obj;

注:装箱和拆箱必须遵循类型兼容原则。