Operações de agregação

Uma operação de agregação calcula um valor único de uma coleção de valores. Um exemplo de uma operação de agregação é calcular a temperatura média diária de que os valores diários de temperatura do mês.

A ilustração a seguir mostra os resultados de duas operações de agregação diferentes em uma seqüência de números. A primeira operação soma os números. A segunda operação retorna o valor máximo na seqüência.

Operações de agregação LINQ

Os métodos de operador de consulta padrão que realizam operações de agregação são listados na seção a seguir.

Métodos

Nome do método

Descrição

C# Expressão de consulta sintaxe

Visual BasicSintaxe de expressão de consulta

Mais informações

Agregado

Executa uma operação de agregação personalizada nos valores de uma coleção.

Não aplicável.

Não aplicável.

Enumerable.Aggregate

Queryable.Aggregate

Média

Calcula o valor médio de uma coleção de valores.

Não aplicável.

Aggregate … In … Into Average()

Enumerable.Average

Queryable.Average

Contagem

Contagens de elementos em uma coleção, opcionalmente, apenas aqueles elementos que satisfaçam a uma função de predicado.

Não aplicável.

Aggregate … In … Into Count()

Enumerable.Count

Queryable.Count

LongCount

Conta os elementos em uma coleção grande, opcionalmente, apenas aqueles elementos que satisfaçam a uma função de predicado.

Não aplicável.

Aggregate … In … Into LongCount()

Enumerable.LongCount

Queryable.LongCount

Max

Determina o valor máximo em uma coleção.

Não aplicável.

Aggregate … In … Into Max()

Enumerable.Max

Queryable.Max

Min

Determina o valor mínimo em uma coleção.

Não aplicável.

Aggregate … In … Into Min()

Enumerable.Min

Queryable.Min

Soma

Calcula a soma dos valores em uma coleção.

Não aplicável.

Aggregate … In … Into Sum()

Enumerable.Sum

Queryable.Sum

Exemplos de sintaxe de expressão de consulta

Média

O seguinte exemplo de código usa a Aggregate Into Average cláusula Visual Basic para calcular a temperatura média de uma matriz de números que representam as temperaturas.


        Dim temperatures() As Double = {72.0, 81.5, 69.3, 88.6, 80.0, 68.5}

        Dim avg = Aggregate temp In temperatures Into Average()

        ' Display the result.
        MsgBox(avg)

        ' This code produces the following output:

        ' 76.65

Contagem

O seguinte exemplo de código usa a Aggregate Into Count cláusula Visual Basic para contar o número de valores em uma matriz que são o maior ou igual a 80.


        Dim temperatures() As Double = {72.0, 81.5, 69.3, 88.6, 80.0, 68.5}

        Dim highTemps As Integer = Aggregate temp In temperatures Into Count(temp >= 80)

        ' Display the result.
        MsgBox(highTemps)

        ' This code produces the following output:

        ' 3

LongCount

O seguinte exemplo de código usa a Aggregate Into LongCount cláusula Visual Basic para contar o número de valores em uma matriz.


        Dim temperatures() As Double = {72.0, 81.5, 69.3, 88.6, 80.0, 68.5}

        Dim numTemps As Long = Aggregate temp In temperatures Into LongCount()

        ' Display the result.
        MsgBox(numTemps)

        ' This code produces the following output:

        ' 6

Max

O seguinte exemplo de código usa a Aggregate Into Max cláusula Visual Basic para calcular a temperatura máxima em uma matriz de números que representam as temperaturas.


        Dim temperatures() As Double = {72.0, 81.5, 69.3, 88.6, 80.0, 68.5}

        Dim maxTemp = Aggregate temp In temperatures Into Max()

        ' Display the result.
        MsgBox(maxTemp)

        ' This code produces the following output:

        ' 88.6

Min

O seguinte exemplo de código usa a Aggregate Into Min cláusula Visual Basic para calcular a temperatura mínima em uma matriz de números que representam as temperaturas.


        Dim temperatures() As Double = {72.0, 81.5, 69.3, 88.6, 80.0, 68.5}

        Dim minTemp = Aggregate temp In temperatures Into Min()

        ' Display the result.
        MsgBox(minTemp)

        ' This code produces the following output:

        ' 68.5

Soma

O seguinte exemplo de código usa a Aggregate Into Sum cláusula Visual Basic para calcular a quantidade total de despesas de uma matriz de valores que representam as despesas.


        Dim expenses() As Double = {560.0, 300.0, 1080.5, 29.95, 64.75, 200.0}

        Dim totalExpense = Aggregate expense In expenses Into Sum()

        ' Display the result.
        MsgBox(totalExpense)

        ' This code produces the following output:

        ' 2235.2

Consulte também

Tarefas

Como: Calcular os valores de coluna em um arquivo de texto CSV (LINQ)

Como: Contar, Somar ou Fazer média de dados usando LINQ (Visual Basic)

Como: Localizar o mínimo ou máximo do valor em um resultado de consulta usando LINQ (Visual Basic)

Como: Consulta do maior arquivo ou arquivos em uma árvore de diretório (LINQ)

Como: Consulta para o número Total de Bytes em um conjunto de pastas (LINQ)

Referência

Aggregate Clause (Visual Basic)

System.Linq

Conceitos

Visão geral operadores de consulta padrão