1、引言
类型安全是.NET设计之初重点考虑的内容之一,对于程序设计者来说,完全把握系统数据的类型安全,经常是力不从心的问题。现在,这一切已经在微软大牛们的设计框架中为你解决了。在.NET中,一切类型都必须集成自System.Object类型,因此我们可以很容易的获得对象的准确类型,方法是:GetType()方法。那么.NET中的类型转换,应该考虑的地方有那些呢?
2、概念引入
类型转换包括显示转换和隐式转换,在.NET中类型转换的基本规则如下:
◆任何类型都可以安全的转换为其基类类型,可以由隐式转换来完成;
◆任何类型转换为其派生类型时,必须进行显示转换,转换的规则是:(类型名)对象名;
◆使用GetType可以取得任何对象的精确类型;
◆基本类型可以使用Covert类实现类型转换;
◆除了string以外的其他类型都有Parse方法,用于将字符串类型转换为对应的基本类型;
值类型和引用类型的转换机制称为装箱(boxing)和拆箱(unboxing)。
3、原理与示例说明
浅谈了类型转换的几个普遍关注的方面,该将主要精力放在is、as操作符的恩怨情仇上了。类型转换将是个较大的话题,留于适当的时机讨论。
is/as操作符,是C#中用于类型转换的,提供了对类型兼容性的判断,从而使得类型转换控制在安全的范畴,提供了灵活的类型转换控制。
is的规则如下:
◆检查对象类型的兼容性,并返回结果,true或者false;
◆不会抛出异常;
◆如果对象为null,则返回值永远为false。
其典型用法为:
1object o = new object(); |
as的规则如下:
◆检查对象类型的兼容性,并返回结果,如果不兼容就返回null;
◆不会抛出异常;
◆如果结果判断为空,则强制执行类型转换将抛出NullReferenceException异常。
其典型用法为:
1object o = new object(); |
4、结论
纵上比较,is/as操作符,提供了更加灵活的类型转型方式,但是as操作符在执行效率上更胜一筹,我们在实际的编程中应该体会其异同,酌情量才。
【相关文章】
|
||||
| · NAC安全访问控制 · 网络布线测试仪器 · Windows Server 2008专.. · Windows远程桌面应用 · 网络故障排除宝典 · 运营商封堵ADSL共享 中.. · 解析35岁技术人的价值.. · 世纪枭雄比尔盖茨的王.. |
· 主流品牌防火墙配置 · ASP.NET开发教程 · 超级计算机TOP500专题 · Vista SP1对决XP SP3 · SQL Server 2008/2005.. · 程序员如何成长? · C#技术开发指南 · 虚拟化技术还有点“虚” |
|||
|
||||
| · SOA 面向服务架构 · SQL Server 2008/2005.. · Apache技术专题 · 三层交换技术专题 · SQL Server入门到精通 · Windows远程桌面应用 · C#技术开发指南 · Apache技术专题 |
· Windows集群服务应用 · C#技术开发指南 · 国际文档格式标准开战 · 路由器设置与口令恢复 · Linux 集群技术专题 · PHP开发应用手册 · SOA 面向服务架构 · 企业数据恢复指南 |
|||
|
||||
| · SQL Server入门到精通 · SQL Server 2008/2005.. · SOA 面向服务架构 · Apache技术专题 · C#技术开发指南 · 三层交换技术专题 · Apache技术专题 · C#技术开发指南 |
· Windows远程桌面应用 · 企业数据恢复指南 · Windows集群服务应用 · 路由器设置与口令恢复 · Linux 集群技术专题 · SOA 面向服务架构 · 了解统一威胁管理(UTM).. · 反垃圾邮件技术应用 |
|||