Condividi tramite


Operazioni di aggregazione

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

Nella figura seguente vengono illustrati 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.

Operazioni di aggregazione LINQ

I metodi degli operatori di query standard che eseguono le operazioni di aggregazione sono riportati nella sezione seguente.

Metodi

Nome metodo

Descrizione

Sintassi dell'espressione di query in C#

Sintassi dell'espressione di query in Visual Basic

Ulteriori informazioni

Aggregate

Esegue un'operazione di aggregazione personalizzata sui valori di una raccolta.

Non applicabile.

Non applicabile.

Enumerable.Aggregate``1

Queryable.Aggregate``1

Media

Calcola il valore medio di una raccolta di valori.

Non applicabile.

Aggregate … In … Into Average()

Enumerable.Average

Queryable.Average

Conteggio

Conta gli elementi in una raccolta, facoltativamente solo gli elementi che soddisfano una funzione predicativa.

Non applicabile.

Aggregate … In … Into Count()

Enumerable.Count``1

Queryable.Count``1

LongCount

Conta gli elementi in una raccolta di grandi dimensioni, facoltativamente solo gli elementi che soddisfano una funzione predicativa.

Non applicabile.

Aggregate … In … Into LongCount()

Enumerable.LongCount``1

Queryable.LongCount``1

Max

Determina il valore massimo in una raccolta.

Non applicabile.

Aggregate … In … Into Max()

Enumerable.Max

Queryable.Max``1

Min

Determina il valore minimo in una raccolta.

Non applicabile.

Aggregate … In … Into Min()

Enumerable.Min

Queryable.Min``1

Somma

Calcola la somma dei valori in una raccolta.

Non applicabile.

Aggregate … In … Into Sum()

Enumerable.Sum

Queryable.Sum

Esempi di sintassi dell'espressione di query

Media

Nell'esempio di codice seguente viene utilizzata la clausola Aggregate Into Average 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 clausola Aggregate Into Count in Visual Basic per contare il numero di valori in una matrice maggiori o uguali 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 riportato di seguito viene utilizzata la clausola Aggregate Into LongCount in Visual Basic 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 utilizzata la clausola Aggregate Into Max in Visual Basic 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

Min

Nell'esempio di codice seguente viene utilizzata la clausola Aggregate Into Min in Visual Basic 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 utilizzata la clausola Aggregate Into Sum in Visual Basic per calcolare la quantità di spesa totale in 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

Attività

Procedura: calcolare i valori di colonna in un file di testo CSV (LINQ)

Procedura: conteggio, somma, o media di dati utilizzando LINQ (Visual Basic)

Procedura: trovare il valore minimo o massimo in un risultato di query utilizzando LINQ (Visual Basic)

Procedura: eseguire una query per trovare il file o i file più grandi in una struttura ad albero di directory (LINQ)

Procedura: eseguire una query per trovare il numero totale di byte in un set di cartelle (LINQ)

Riferimenti

Clausola Aggregate (Visual Basic)

System.Linq

Concetti

Cenni preliminari sugli operatori di query standard