LINQ聚合

聚合

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

操作 描述 C#查询表达式语法 VB查询表达式语法
Aggregate 对集合的值进行操作执行自定义聚合操作 不适用 不适用
Average 计算集合的平均值 不适用 Aggregate … In … Into Average()
Count 计算在收集谓词功能的元素 不适用 Aggregate … In … Into Count()
LonCount 计算一个巨大的集合中满足谓词函数的元素 不适用 Aggregate … In … Into LongCount()
Max 找出一个集合中的最大值 不适用 Aggregate … In … Into Max()
Min 找出一个集合中的最小值 不适用 Aggregate … In … Into Min()
Sum 计算一个集合中的值的总和 不适用 Aggregate … In … Into 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级联 下一篇: LINQ量词操作