Condividi tramite


Operazioni di aggregazione (Visual Basic)

Un'operazione di aggregazione calcola un singolo valore da una raccolta di valori. Un esempio di operazione di aggregazione è il calcolo della temperatura media giornaliera rispetto ai valori di temperatura giornaliera di un mese.

La figura seguente mostra i risultati di due diverse operazioni di aggregazione su una sequenza di numeri. La prima operazione somma i numeri. La seconda operazione restituisce il valore massimo nella sequenza.

Figura che mostra le operazioni di aggregazione LINQ.

I metodi dell'operatore di query standard che eseguono operazioni di aggregazione sono elencati nella sezione seguente.

Metodi

Nome metodo Descrizione Sintassi delle espressioni di query di Visual Basic Altre informazioni
Aggregato Esegue un'operazione di aggregazione personalizzata sui valori di una raccolta. Non applicabile. Enumerable.Aggregate

Queryable.Aggregate
Medio Calcola il valore medio di una raccolta di valori. Aggregate … In … Into Average() Enumerable.Average

Queryable.Average
Conteggio Conta gli elementi in una raccolta, facoltativamente solo gli elementi che soddisfano una funzione predicato. Aggregate … In … Into Count() Enumerable.Count

Queryable.Count
LongCount Conta gli elementi in una raccolta di grandi dimensioni, facoltativamente solo gli elementi che soddisfano una funzione predicato. Aggregate … In … Into LongCount() Enumerable.LongCount

Queryable.LongCount
Max o MaxBy Determina il valore massimo in una raccolta. Aggregate … In … Into Max() Enumerable.Max
Enumerable.MaxBy
Queryable.Max
Queryable.MaxBy
Min o MinBy Determina il valore minimo in una raccolta. Aggregate … In … Into Min() Enumerable.Min
Enumerable.MinBy
Queryable.Min
Queryable.MinBy
Somma Calcola la somma dei valori in una raccolta. Aggregate … In … Into Sum() Enumerable.Sum

Queryable.Sum

Esempi di sintassi delle espressioni di query

Medio

Nell'esempio di codice seguente viene utilizzata la Aggregate Into Average clausola in Visual Basic per calcolare la temperatura media in una matrice di numeri che rappresentano le temperature.


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

Conteggio

Nell'esempio di codice seguente viene utilizzata la Aggregate Into Count clausola in Visual Basic per contare il numero di valori in una matrice maggiore o uguale 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

Nell'esempio di codice seguente viene utilizzata la Aggregate Into LongCount clausola per contare il numero di valori in una matrice.


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

Nell'esempio di codice seguente viene usata la Aggregate Into Max clausola per calcolare la temperatura massima in una matrice di numeri che rappresentano le temperature.


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

Minuti

Nell'esempio di codice seguente viene utilizzata la Aggregate Into Min clausola per calcolare la temperatura minima in una matrice di numeri che rappresentano le temperature.


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

Somma

Nell'esempio di codice seguente viene usata la Aggregate Into Sum clausola per calcolare l'importo totale delle spese da una matrice di valori che rappresentano le spese.


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

Vedere anche