Compartilhar via


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

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

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.

Ilustração que mostra operações de agregação LINQ.

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

Métodos

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

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

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

Queryable.Count
LongCount Conta os elementos em uma coleção grande, opcionalmente apenas os elementos que atendem a 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

Mediana

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

Contagem

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 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 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áximo

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

Minuto

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