码迷,mamicode.com
首页 > 其他好文 > 详细

封箱和拆箱

时间:2015-11-24 22:06:16      阅读:185      评论:0      收藏:0      [点我收藏+]

标签:

封箱的含义:把值类型转换为System.Object类型,或者转换为由值类型实现的结构类型.

如:struct MyStruct

{

pubilc int Val;

}

MyStruct valType1 = new MyStruct();

valType1.Val = 5;

object refType = valType1; //把值类型的结构放入object类型的变量中,以封箱它.

拆箱的含义:是和封箱做相反的操作.

如:valType.Val = 6; //对原值类型进行赋值

MyStruct valType2 = (MyStruct)refType; //拆箱到新变量中

Console.WriteLine("valType2.Val = {0}",valType2.Val);

封箱的作用:允许在项目类型是object的集合(例:ArrayList)中使用值类型,一个内部机制允许在值类型上调用object,例如int和结构.

注意:封箱值变量而创建的对象,只包含值类型变量的一个副本的引用,而不包含原值类型变量的引用,封箱是隐式转换,拆箱是显式转换,在访问值类型内容前,必须进行拆箱.

封箱和拆箱

标签:

原文地址:http://www.cnblogs.com/cheny3636/p/4993012.html

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