C# 2008引入了几个构建在C# 2005上的语言扩展,用来支持创建和使用更高级的函数式(functional或译:泛函)类库。这些扩展允许组合(compositional)APIs 的构造,这些APIs与关系数据库和XML等领域中的查询语言具有同等的表达力。C#还通过几种创新的语言构造简化了软件组件的开发,这是C# 2005所不具有的,这些结构包括:
— 封装的方法签名(称为“委托”),它实现了类型安全的事件通知。
— 属性充当私有成员变量的访问器。
— 属性提供关于运行时类型的声明性元数据。
— 内联XML文档注释。
— 语言集成查询(LINQ),提供了跨各种数据源的内置查询功能。
除了包含C# 2005中的众多优点之外,在2008版本中更为重要的是实现了LINQ语言的支持。而且另外新增了八个主要的功能。分别如下:
— 隐式类型的本地变量和数组。
— 对象初始值设定项。
— 扩展方法。
— 匿名类型。
— Lambda表达式。
— 查询关键字。
— 自动实现的属性。
— 部分方法定义。
这八个功能会在后边文章中进行详细介绍。