首页 > 技术文章 > C#装箱和拆箱

lumingprince 2020-12-08 17:28 原文

装箱是将值类型转换为 object 类型或由此值类型实现的任何接口类型的过程。取消装箱将从对象中提取值类型。装箱是隐式的;取消装箱是显式的。

协变和逆变是引用类型的类型转换,装箱和拆箱则是值类型的类型转换。

看一下例子就能明白

下例将整型变量 i 进行了装箱并分配给对象 o

int i = 123;
// The following line boxes i.
object o = i;

然后,可以将对象 o 取消装箱并分配给整型变量 i

o = 123;
i = (int)o; // unboxing

推荐阅读