C#3.0新增功能09 LINQ 基础07 LINQ 中的查询语法和方法语法
系列目录 【已更新最新开发文章,点击查看详细】 介绍性的语言集成查询 ( LINQ) 文档中的大多数查询是使用 LINQ 声明性查询语法编写的。 但是在编译代码时,查询语法必须转换为针对 .NET 公共语言运行时 (CLR) 的方法调用。 这些方法调用会调用标准查询运算符(名称为 Where 、 Select 、 GroupBy 、 Join 、 Max 和 Average 等)。 可以使用方法语法(而不查询语法)来直接调用它们。 查询语法和方法语法在语义上是相同的,但是许多人发现查询语法更简单且更易于阅读。 某些查询必须表示为方法调用。 例如,必须使用方法调用表示检索与指定条件匹配的元素数的查询。 还必须对检索源序列中具有最大值的元素的查询使用方法调用。 System.Linq 命名空间中的标准查询运算符的参考文档通常使用方法语法。 因此,即使在开始编写 LINQ查询时,熟悉如何在查询和查询表达式本身中使用方法语法也十分有用。 标准查询运算符扩展方法 下面的示例演示一个简单查询表达式 以及编写为基于方法的查询 的语义上等效的查询。 1 class QueryVMethodSyntax 2 { 3 static void Main() 4 { 5 int[] numbers = { 5, 10, 8, 3, 6, 12}; 6 7 // 查询语法 8 IEnumerable<int