C#中的类型转换
作者:网络转载 发布时间:[ 2014/5/15 10:28:57 ] 推荐标签:Net 软件开发 数据转换
装箱和拆箱
(1)装箱:是将一个值类型的数据隐式转换成一个对象类型的数据。把一个值类型装箱是创建一个object类型的实例,并把该值类型的值赋给这个object对象。
Eg:
<span style="font-family:KaiTi_GB2312;font-size:18px;"><strong>Int I = 10;
Object obj = i; //隐式转换装箱</strong></span>
<span style="font-family:KaiTi_GB2312;font-size:18px;"><strong>Int I = 10;
Object obj = (object)i; //显式转换装箱</strong></span>
分析:i及其值10是在栈空间中分配的,obj是引用类型变量,也是在栈空间中分配的,i装箱后变为引用类型,在堆空间中分配相应的空间,obj中包含地址。
(2)拆箱:将引用类型的数据显式转换成一个值类型数据。分为两步:首先检查对象实例,确保它是给定值类型的一个装箱值,然后把实例类型复制到值类型数据中。
Eg:
Object obj = 10;
Int I = (int)obj; //显示转换拆箱
(3)区别:装箱隐式或显式转换均可,拆箱只能是显式转换。

sales@spasvo.com