[C#] 装箱和拆箱(整理中)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[C#] 装箱和拆箱(整理中)相关的知识,希望对你有一定的参考价值。
装箱是将值类型转换为 object
类型或由此值类型实现的任何接口类型的过程。 当 CLR 对值类型进行装箱时,会将该值包装到 System.Object 内部,再将后者存储在托管堆上。 取消装箱将从对象中提取值类型。 装箱是隐式的;拆箱是显式的。 装箱和拆箱的概念是类型系统 C# 统一视图的基础,其中任一类型的值都被视为一个对象。
在下面的示例中,将整型变量 i
进行了装箱并分配给对象 o
。
1 static void Main(string[] args) 2 { 3 var i = 123; //System.Int32 4 5 //对 i 装箱(隐式) 6 object obj = i; 7 8 Console.Read(); 9 }
然后,可以将对象 o 拆箱并分配给整型变量 i。
1 static void Main(string[] args) 2 { 3 var i = 123; //System.Int32 4 5 //对 i 装箱(隐式) 6 object obj = i; 7 8 //对 obj 进行拆箱(显式) 9 i = (int)obj; 10 11 Console.Read(); 12 }
这里用代码进行演示装箱拆箱操作:
以上是关于[C#] 装箱和拆箱(整理中)的主要内容,如果未能解决你的问题,请参考以下文章