Partilhar via


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 está calculando 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ões 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``1

Queryable.Aggregate``1

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

Conta os 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``1

Queryable.Count``1

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``1

Queryable.LongCount``1

Max

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

Não aplicável.

Aggregate … In … Into Max()

Enumerable.Max

Queryable.Max``1

Min

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

Não aplicável.

Aggregate … In … Into Min()

Enumerable.Min

Queryable.Min``1

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ões 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 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 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 maior que 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 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 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 computar 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 valor mínimo ou máximo em um resultado de consulta usando LINQ (Visual Basic)

Como consultar o maior arquivo ou os arquivos em uma árvore de diretório (LINQ)

Como consultar o número total de bytes em um conjunto de pastas (LINQ)

Referência

Cláusula Aggregate (Visual Basic)

System.Linq

Conceitos

Visão geral de operadores de consulta padrão