不错呦!smile@林凯西,确保“准备文件”中的几个文件都有安装,S...您好,看了您这篇帖子觉得很有帮助。但是有个问题想请...我的修改过了怎么还被恶意注册呢 @jjjjiiii 用PJ快9年了,主要是A...PJ3啊,貌似很少有人用PJ了,现在不是WP就是z...@332347365,我当时接入时错误码没有-10...楼主,ChkValue值应为-103是什么意思呢?...大哥 你最近能看到我发的信息,请跟我联系,我有个制...
C#的装箱和拆箱
编辑:dnawo 日期:2008-06-30
装箱和拆箱是C#类型系统的核心。通过装相和拆箱操作,能够在值类型和引用类型中架起一座桥梁。换言之,可以轻松实现值类型与引用类型的互相转换。装箱和拆箱能够统一考察类型系统,任何类型的值最终都可以按照对象进行处理。
1.装箱
装箱的核心是把值类型转换为对象类型,或者转换为由值类型执行的接口类型。把一个值类型的值装箱,也就是创建一个对象并把这个值赋给这个对象。常见的装箱转换有4种:
·从任何值类型转换为对象类型;
·从任何值类型转换为System.ValueType类型;
·从任何值类型转换为值类型实现的任何接口类型;
·从任何枚举类型转换为System.Enum类型;
需要注意的是,装箱转换意味着复制一个欲被装箱的值。这与从引用类型转换为对象类型有着很大的不同。在后者中,转换后的值继续引用同一实例,只是将它当成对象类型而已。
下面举例说明装箱操作的实现:
2.拆箱
拆箱相对于装箱是一个相反的过程,其核心是将引用类型转换为值类型,或者是将一个接口类型转换为一个实现该接口的值类型。常见的拆箱操作有4种:
·从对象类型转换为任何值类型;
·从System.ValueType类型转换为任何值类型;
·从任何接口类型转换为实现该接口的任何值类型;
·从System.Enum类型转换为任何枚举类型;
拆箱的过程分为两个步骤:一是检查对象实例是否是给定的值类型的装箱值;二是将值从对象实例中复制出来。下面列举一个简单的拆箱操作实现。
摘自:郝刚.2006.《ASP.NET 2.0 开发指南》.人民邮电出版社.53~54
1.装箱
装箱的核心是把值类型转换为对象类型,或者转换为由值类型执行的接口类型。把一个值类型的值装箱,也就是创建一个对象并把这个值赋给这个对象。常见的装箱转换有4种:
·从任何值类型转换为对象类型;
·从任何值类型转换为System.ValueType类型;
·从任何值类型转换为值类型实现的任何接口类型;
·从任何枚举类型转换为System.Enum类型;
需要注意的是,装箱转换意味着复制一个欲被装箱的值。这与从引用类型转换为对象类型有着很大的不同。在后者中,转换后的值继续引用同一实例,只是将它当成对象类型而已。
下面举例说明装箱操作的实现:
复制内容到剪贴板
程序代码

int i = 100;
object obj = i;
object obj = i;
2.拆箱
拆箱相对于装箱是一个相反的过程,其核心是将引用类型转换为值类型,或者是将一个接口类型转换为一个实现该接口的值类型。常见的拆箱操作有4种:
·从对象类型转换为任何值类型;
·从System.ValueType类型转换为任何值类型;
·从任何接口类型转换为实现该接口的任何值类型;
·从System.Enum类型转换为任何枚举类型;
拆箱的过程分为两个步骤:一是检查对象实例是否是给定的值类型的装箱值;二是将值从对象实例中复制出来。下面列举一个简单的拆箱操作实现。
复制内容到剪贴板
程序代码

int i = 100;
object obj = i;
int j = (int)obj;
object obj = i;
int j = (int)obj;
摘自:郝刚.2006.《ASP.NET 2.0 开发指南》.人民邮电出版社.53~54
评论: 0 | 引用: 0 | 查看次数: 3730
发表评论
请登录后再发表评论!