C#语言的装箱和取消装箱

装箱是将值类型转换为 object 类型或由此值类型实现的任何接口类型的过程。

公共语言运行时 (CLR) 对值类型进行装箱时,会将值包装在 System.Object 实例中并将其存储在托管堆中。 取消装箱将从对象中提取值类型。 装箱是隐式的;取消装箱是显式的。 装箱和取消装箱的概念是类型系统 C# 统一视图的基础,其中任一类型的值都被视为一个对象。

装箱

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

int i = 123;
// 隐式装箱i
object o = i;
// 显式装箱i
object o = (object)i

取消装箱

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

o = 123;
// 显式取消装箱
i = (int)o;

示例

以下示例演示如何在 C# 中使用装箱。

byte[] array = { 0x64, 0x6f, 0x74, 0x63, 0x65, 0x74 };

string hexValue = Convert.ToHexString(array);
Console.WriteLine(hexValue);

/*Output:
  646F74636574
 */

原创文章,作者:huoxiaoqiang,如若转载,请注明出处:https://www.huoxiaoqiang.com/experience/csexp/8405.html

发表评论

登录后才能评论