Linq的介入,让.NET语言的开发又增加了一道利器,为了让Linq融合到已有的.NET语言之中,C#增加了很多的扩展功能,扩展功能如下列表:

        1、类型推断,这可以让我们局部定义一个变量而无需定义类型,在编译时根据赋予的值再来定义其类型

        2、对象初始值设定项,这允许我们初始化一个对象而无需构造函数

        3、匿名类型,无需使用class、struct关键字申明,只需用new关键字和对象初始值设定即可

        4、扩展方法,可以扩展一个类的接口

        5、lambal表达式,封装代码,但是无需使用关键字,这比匿名方法更加实用

        6、表达式目录树,代码是数据,代码使用lambda表达式填充的

        运算符是Linq查询表达式的基本要素,在C#中,运算符被作为扩展方法使用,其核心扩展方法包含在System.Linq命名空间的Enumerable<T>类中,所以在普通的int[],Array数组中想要使用Linq查询表达式,先用方法将非泛型可枚举的转换成泛型可枚举类型,然后再使用Linq查询表达式。

        下面来看看C#语法中支持的表达式: