如何在 LINQ 查询语法中进行最大聚合?

Prz*_*zek 6 c# linq max

LINQ方法语法

var methodSyntax = VersionControls.Where(x => !x.Removed).Max(x => x.VersionID);
Run Code Online (Sandbox Code Playgroud)

LINQ查询语法

var querySyntax = from x in VersionControls
                  where !x.Removed
                  // how to do Max Aggregation in LINQ query syntax???
                  select x;
Run Code Online (Sandbox Code Playgroud)

ASh*_*ASh 4

MSDN 文档介绍了LINQ 中的查询语法和方法语法

查询语法和方法语法在语义上是相同的,但许多人发现查询语法更简单且更易于阅读。某些查询必须表示为方法调用。例如,您必须使用方法调用来表达检索与指定条件匹配的元素数量的查询。您还必须对查询使用方法调用,以检索源序列中具有最大值的元素。

查询语法无法表达方法语法可以表达的所有内容

检查如何在这个答案中将它们组合为最小值和最大值

var mixedSyntax = (from x in VersionControls
                  where !x.Removed
                  select x).Max(x => x.VersionID);
Run Code Online (Sandbox Code Playgroud)