.NET 3.0 Framework已于去年11月份发布了,期待已久的C# 3.0也随之而来。本系列文章将着重专注于探索C# 3.0为我们带来的新特性,而对于.NET 3.0为我们带来的新特性则可能放在另外的系列文章里去探索。
.NET 3.0增加的四个新组件:
● Windows Presentation Foundation;
● Windows Communication Foundation;
● Windows Workflow Foundation;
● Windows CardSpace;
C# 3.0新特性:
● Implicitly Typed Local Variables(隐式类型);
● Extension Methods(扩展方法);
● Lambda Expressions(Lambda表达式);
● Object Initializers(对象初始器);
● Anonymous Types(匿名类型);
● Implicitly Typed Arrays(隐式类型数组);
● Query Expressions(查询表达式);
● Expression Trees(表达式树);
从数量上讲,C#这一次升级所带来的新特性似乎要比2.0的时候多一些,但我个人觉得数量并不能决定一切,质量更为重要,那好,现在我们就开始C# 3.0探索之旅吧!
工欲善其事,必先利其器。咱们要善的事是“探索C# 3.0”,那么咱们的要利的器是什么呢?
这个“器”就是LINQ项目。安装了.NET 3.0 Framework之后,实际上还不能通过Visual Studio 2005来编写C# 3.0程序,不信您试试写个新关键字“var”看看编译器认不认。LINQ的全称是“Language-Integrated Query”语言集成查询。LINQ是适用于所有信息源的通用查询工具,它使得查询表达式能够得益于丰富的元数据、编译时语法检查、静态输入和智能感知,它还允许将单个通用的声明查询工具应用于所有内存中的信息,而不仅仅是来自外部源的。LINQ并不从属于C# 3.0,它是目前.NET平台上主要编程语言(C#、Visual Basic等等)的集成功能。它定义了一组通用的标准查询操作符,允许在任何.NET编程语言中通过直接的声明方式进行遍历、筛选等操作,标准查询符可以查询任何基于IEnumerable的信息源。LINQ项目已提供可同时处理XML和SQL数据的实现,处理XML的查询操作符(XLinq)使用一个高效易用的内存中XML工具来提供宿主编程语言中的XPath及XQuery功能;处理关系数据的查询操作符(DLinq)将基于SQL的架构定义集成构建到CLR类型系统中,该集成通过关系数据提供强类型化,同时直接在底层存储中保留关系模型的表达功能和查询计算的性能。
过去您可以通过安装LINQ的预览版来开发C# 3.0项目,最近一次发布的预览版是2006年5月发布的,目前已经过期,想要体验LINQ的朋友可以从微软官方网站上下载并安装下一代Visual Studio集成开发环境(开发代号:Orcas)预览版来开始C# 3.0的激情探索之旅。
Good Luck!