using System;
class Test()
{
static void Main()
{
int i = 1;
Object o = i; // 装箱
int J = (int)i; //拆箱,取消装箱
}
}
装箱:是将值类型转换为 object 类型或由此值类型实现的任一接口类型的过程。
当 CLR 对值类型进行装箱时,会将该值包装到 System.Object 内部,再将后者存储在托管堆上。 取消装箱将从对象中提取值类型。
装箱是隐式的;取消装箱是显式的。 装箱和取消装箱的概念是类型系统 C# 统一视图的基础,其中任一类型的值都被视为一个对象。
拆箱:取消装箱是从 object 类型到值类型或从接口类型到实现该接口的值类型的显式转换。 取消装箱操作包括:
检查对象实例,以确保它是给定值类型的装箱值。
将该值从实例复制到值类型变量中。 |