书写Linq查询有两种方法,第一种是通过方法语法(也就是扩展方法),第二种是查询表达式语法.
1、方法语法
方法语法就是通过扩展方法和Lambda表达式来创建查询
(1)、链式查询
这种查询方式很多语言都支持...,核心是扩展方法,因为where、OrderBy、Select等扩展方法返回都是一个IEnumerable类型对象,所以配合扩展方法本身的特殊性(不懂,请参考C# this关键字(给底层类库扩展成员方法...Select:按照Lambda制定的规则决定了当前数据集合要以怎样的方式输出.
(3)、方法语法中除了Select、OrderBy、Where的其它查询操作符
并不是所有的查询运算符都返回一个IEnumerable...,并编译成扩展方法,实质也是在使用扩展方法进行查询....上图是标准的查询表达式语法图
3、组合查询语法
因为查询表达式语法和扩展方法语法各有所长,其实本质上查询表达式编译之后也是一种方法语法,两者是真包含的关系,所以使用起来可以根据自身的喜好来决定,但是当一个查询操作运算符没有对应的查询表达式语法时