作为一种面向对象的语言,C# 同样支持封装、继承和多态性等特性。因此在微软公司推出.NET Framework 3.5之初,很多人认为对于主要开发语言之一的C#语言只是对版本的一个简单升级。确实在C# 版本中继承了版本的大部分功能,例如,码编辑器、编译器、项目模板、设计器、代码向导、以及各种控件等等。除此之外在C# 版本中还引入多种重要的功能,极大的拓展了C# 的功能,使得C#这门语言更适合现代程序开发的要求。
C# 引入了几个构建在C# 上的语言扩展,用来支持创建和使用更高级的函数式(functional或译:泛函)类库。这些扩展允许组合(compositional)APIs的构造,这些APIs与关系数据库和XML等领域中的查询语言具有同等的表达力。C#还通过几种创新的语言构造简化了软件组件的开发,这是C# 所不具有的,这些结构包括:
封装的方法签名(称为“委托”),它实现了类型安全的事件通知。
属性充当私有成员变量的访问器。
属性提供关于运行时类型的声明性元数据。
内联XML文档注释。
语言集成查询(LINQ),提供了跨各种数据源的内置查询功能。
除了包含C# 中的众多优点之外,在版本中更为重要的是实现了LINQ语言的支持。而且另外新增了八个主要的功能。分别如下:
隐式类型的本地变量和数组。
对象初始值设定项。
扩展方法。
匿名类型。
Lambda表达式。
查询关键字。
自动实现的属性。
部分方法定义。
这八个功能会在后边文章中进行详细介绍。