书写Linq查询有两种方法,第一种是通过方法语法(也就是扩展方法),第二种是查询表达式语法.
1、方法语法
方法语法就是通过扩展方法和Lambda表达式来创建查询
(1)、链式查询
这种查询方式很多语言都支持...,也就是按照Where方法中Lambda制定的规则,当前element是否能继续留在数据集合中....关于类似的方法还有很多,推荐去研究下System.Linq.Enumerable类
2、Linq查询表达式语法
Linq查询表达式语法写出的查询比较类似与Sql语句,是C#3.0加入的,虽然Linq查询表达式看上去类似于...Sql查询,但实际上它并不是建立在Sql语句上,而是建立在函数式编程语言如LISP和Haskell中的list comprehensions(列表解析)功能之上,也就是所编译器会对Linq查询表达式进行处理...上图是标准的查询表达式语法图
3、组合查询语法
因为查询表达式语法和扩展方法语法各有所长,其实本质上查询表达式编译之后也是一种方法语法,两者是真包含的关系,所以使用起来可以根据自身的喜好来决定,但是当一个查询操作运算符没有对应的查询表达式语法时