Partilhar via


Operações de agregação (Visual Basic)

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

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

Illustration that shows LINQ aggregation operations.

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

Métodos

Nome do método Description Sintaxe da expressão de consulta do Visual Basic Mais Informações
Agregação Executa uma operação de agregação personalizada nos valores de uma coleção. Não aplicável. Enumerable.Aggregate

Queryable.Aggregate
Média Calcula o valor médio de uma coleção de valores. Aggregate … In … Into Average() Enumerable.Average

Queryable.Average
Count Conta os elementos em uma coleção, opcionalmente apenas os elementos que satisfazem uma função de predicado. Aggregate … In … Into Count() Enumerable.Count

Queryable.Count
Contagem Longa Conta os elementos em uma coleção grande, opcionalmente apenas os elementos que satisfazem uma função de predicado. Aggregate … In … Into LongCount() Enumerable.LongCount

Queryable.LongCount
Max ou MaxBy Determina o valor máximo em uma coleção. Aggregate … In … Into Max() Enumerable.Max
Enumerable.MaxBy
Queryable.Max
Queryable.MaxBy
Min ou MinBy Determina o valor mínimo em uma coleção. Aggregate … In … Into Min() Enumerable.Min
Enumerable.MinBy
Queryable.Min
Queryable.MinBy
Soma Calcula a soma dos valores em uma coleção. Aggregate … In … Into Sum() Enumerable.Sum

Queryable.Sum

Exemplos de sintaxe de expressão de consulta

Média

O exemplo de código a seguir usa a Aggregate Into Average cláusula no Visual Basic para calcular a temperatura média em uma matriz de números que representam 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

Count

O exemplo de código a seguir usa a Aggregate Into Count cláusula no Visual Basic para contar o número de valores em uma matriz que são maiores ou iguais 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

Contagem Longa

O exemplo de código a seguir usa a Aggregate Into LongCount cláusula 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

Máx

O exemplo de código a seguir usa a Aggregate Into Max cláusula para calcular a temperatura máxima em uma matriz de números que representam 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 exemplo de código a seguir usa a Aggregate Into Min cláusula para calcular a temperatura mínima em uma matriz de números que representam 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 exemplo de código a seguir usa a Aggregate Into Sum cláusula para calcular o valor total da despesa a partir de uma matriz de valores que representam 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