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.
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. |
|
Média |
Calcula o valor médio de uma coleção de valores. |
Não aplicável. |
Aggregate … In … Into 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() |
|
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() |
|
Max |
Determina o valor máximo em uma coleção. |
Não aplicável. |
Aggregate … In … Into Max() |
|
Min |
Determina o valor mínimo em uma coleção. |
Não aplicável. |
Aggregate … In … Into Min() |
|
Soma |
Calcula a soma dos valores em uma coleção. |
Não aplicável. |
Aggregate … In … Into 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)