首页 | 互联网 | IT动态 | Cisco | Windows | Linux | Java | .Net | Oracle | 华为 | 存储世界 | 服务器 | 网络设备 | IDC | 安全 | 求职招聘
IT培训 | 数字网校 | 技术专题 | 电子书下载 | 教学视频 | 网页设计 | 平面设计 | 解决方案 | 直播室 | 虚拟考场 | 搜索 | 博客 | 沙龙 | 论坛
中国IT实验室Dotnet频道
中国IT教育
首页 ASP.NET  C#  XML/WebService ADO.NET VC.NET VB.NET .NET 资讯动态 专题 RSS订阅 讨论 下载
您现在的位置: 中国IT实验室 >> Dotnet >> C# >> 文章正文

把我的爱送给你――C#3.5新特性介绍

文章来源本站原创 作者韩现龙 更新时间2008-5-7 保存本文保存本文 推荐给好友推荐给好友 收藏本页收藏本页

    从笔者接触编程至今,经历了数种编程语言,从Visual Basic6.0桌面程序开发到ASP(VBScript)的网站开发,从C#1.1到C#2.0,再至今日的令人加心动的C#3.5,笔者曾多次为Windows平台下的编程感慨--越来越方便的操作,越来越强大的功能,越来越简洁的代码使得由代码组成的编程世界中平添的许多色彩与欢乐。

    以上可以算作对即将要介绍的C#3.5新特性的一个铺垫。笔者对于C#的爱,胜过其他的任何语言,尤其对于刚刚召开不久的微软2008新技术大会上发布的Visual Studio 2008笔者的爱意更甚。于是,笔者决定将自己对它的爱以文章的形式来表达。

    让我们去由此开始,向C#3.5示爱:

    一、告诉C#3.5,我们对爱上它的暧昧-var关键字

    暧昧?众所周知,C#从出生以来都是很以一种强类型的语言示人的,并不像JavaScript和VB6.0那样给人以"暧昧"的感觉啊?而在此处介绍的关键字var,是否让您想起了JavaScript中的定义变量的关键字var?事实上,这两个看似相同的关键字却有本质上的区别。而这个var关键字并非在C#3.5中才出现的,它在C#3.0中便已经存在,笔者之所以在此介绍它,是因为欲介绍3.5,必须而且应该去介绍一下这个在C#3.0中便出现的特性--本地类型推断(Local Type Reference),如若不然,笔者内心便无法安稳。

    在C#2.0及其以前的版本中,如若定义一可以向其赋任何值的变量,那么我们需对其以object关键字进行定义,这种变量需要对值类型的进行装箱操作而且在对该变量使用的时候还需要进行相应的拆箱操作,而这种装箱拆箱所耗费的资源实在是笔者所不愿意看到的。

    那么,我们既不愿意编写无谓耗费资源的代码,又想去实现object定义变量实现的功能,怎么办?C#3.5为我们提供了一种变量定义方式:

    


    
    看上面的变量定义,奇怪么?其实这就是C#3.5为我们提供的一种新功能--本地类型推断,它可以保护类型安全,而且允许您编写更为"自由"的代码。也就是说,我们可以不去考虑变量的类型而直接以var关键字去修饰它,编译器能够从给变量赋值的表达式中智能推断出变量的类型。它和COM模型中的Variant关键字定义出的变量完全不同,COM中的Variant关键字是变量晚绑定的一种方式,在编译期没有检测,仅在代码运行时才会出现它自身存在的问题,而且一不小心就会出现一大堆令人讨厌的Bug。而C#中这个var定义的变量在编译期推断出它的类型,并且编译后的IL代码中只包含推断出的类型。

    即上面的两行代码完全等同物如下代码:

   

    
    那么,既然二者等同,我们为什么还要对它的这种"暧昧"情有独衷?事实上,var关键字不仅仅能够实现我们如上所述的功能,它会成为你在使用C#3.5进行编程时非常熟悉的一个朋友,记住这个"匿名类型(Anonymous Type)",也记住这个"本地类型推断(Local Type Reference)"。

[1] [2] [3] [4] 下一页  

【责编:Zenghui】

中国IT教育

相关产品和培训
文章评论
 友情推荐链接
 认证培训
 专题推荐

 ·关于Java框架技术专题
 ·XML全攻略技术专题
 ·JAVA开源技术介绍专题
 ·Java嵌入式开发之J2ME技术专题
 ·超前体验 Oracle 11g的5个新特性
 ·揭密使用VB.NET的五个实用技巧
 ·Oracle和SQL Server常用函数对比专题
 ·展现C#世界 C#程序设计专题
 ·Java入门 Tomcat的配置技巧精华专题
 ·Oracle RMAN物理备份技术详解
 今日更新
 社区讨论
 博客论点
 频道精选
 Dotnet频道相关导航