码迷,mamicode.com
首页 > Windows程序 > 详细

[C#] 装箱和拆箱(整理中)

时间:2016-12-17 11:12:38      阅读:178      评论:0      收藏:0      [点我收藏+]

标签:clr   system.in   提取   int   值类型   对象   过程   概念   取消   

  装箱是将值类型转换为 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#] 装箱和拆箱(整理中)

标签:clr   system.in   提取   int   值类型   对象   过程   概念   取消   

原文地址:http://www.cnblogs.com/liqingwen/p/6189128.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!