LINQ 中的聚合



执行任何类型的所需聚合,并允许在 LINQ 中创建自定义聚合。

运算符 说明 C# 查询表达式语法 VB 查询表达式语法
聚合 对集合的值进行操作以执行自定义聚合操作 不适用 不适用
平均值 计算值的集合的平均值 不适用 聚合……in……转换为平均值()
计数 计算满足集合内谓词函数的元素 不适用 聚合……in……转换为计数()
LonCount 计算满足大集合内谓词函数的元素 不适用 聚合……in……转换为 LongCount()
最大值 找出集合中的最大值 不适用 聚合……in……转换为 Max()
最小值 找出集合中存在的最小值 不适用 聚合……in……转换为 Min()
找出集合中值的和 不适用 聚合……in……转换为 Sum()

示例

VB

Module Module1

   Sub Main()
   
      Dim num As Integer() = {1, 2, 3, 4, 5, 6, 7, 8, 9}

      Dim intDivByTwo = Aggregate n In num
                       Where n > 6
                       Into Count()
      Console.WriteLine("Count of Numbers: " & intDivByTwo)

      Dim intResult = Aggregate n In num
                     Where n > 6
                     Into Average()
							
      Console.WriteLine("Average of Numbers: " & intResult)

      intResult = Aggregate n In num
                 Where n > 6
                 Into LongCount()
					  
      Console.WriteLine("Long Count of Numbers: " & intResult)

      intResult = Aggregate n In num
                 Into Max()
					  
      Console.WriteLine("Max of Numbers: " & intResult)

      intResult = Aggregate n In num
                 Into Min()
					  
      Console.WriteLine("Min of Numbers: " & intResult)

      intResult = Aggregate n In num
                 Into Sum()
					  
      Console.WriteLine("Sum of Numbers: " & intResult)

      Console.ReadLine()

   End Sub
   
End Module

当编译并执行上述 VB 代码时,它会产生以下结果 -

Count of Numbers: 3
Average of Numbers: 8
Long Count of Numbers: 3
Max of Numbers: 9
Min of Numbers: 1
Sum of Numbers: 45
linq_query_operators.htm
广告