Partager via


Opérations d'agrégation

Une opération d'agrégation calcule une valeur unique à partir d'une collection de valeurs. Le calcul de la température quotidienne moyenne à partir des valeurs de température quotidiennes d'un mois est un exemple d'opération d'agrégation.

L'illustration suivante présente les résultats de deux opérations d'agrégation différentes sur une séquence de nombres. La première opération additionne les nombres. La deuxième opération retourne la valeur maximale dans la séquence.

Opérations d'agrégation LINQ

Les méthodes d'opérateur de requête standard qui effectuent des opérations d'agrégation sont répertoriées dans la section suivante.

Méthodes

Nom de la méthode

Description

Syntaxe d'expression de requête C#

Syntaxe d'expression de requête Visual Basic

Informations supplémentaires

Aggregate

Effectue une opération d'agrégation personnalisée sur les valeurs d'une collection.

Non applicable.

Non applicable.

Enumerable.Aggregate

Queryable.Aggregate

Average

Calcule la valeur moyenne d'une collection de valeurs.

Non applicable.

Aggregate … In … Into Average()

Enumerable.Average

Queryable.Average

Count

Compte les éléments d'une collection, éventuellement uniquement les éléments qui satisfont une fonction de prédicat.

Non applicable.

Aggregate … In … Into Count()

Enumerable.Count

Queryable.Count

LongCount

Compte les éléments d'une grande collection, éventuellement uniquement les éléments qui satisfont une fonction de prédicat.

Non applicable.

Aggregate … In … Into LongCount()

Enumerable.LongCount

Queryable.LongCount

Max

Détermine la valeur maximale dans une collection.

Non applicable.

Aggregate … In … Into Max()

Enumerable.Max

Queryable.Max

Min

Détermine la valeur minimale dans une collection.

Non applicable.

Aggregate … In … Into Min()

Enumerable.Min

Queryable.Min

Sum

Calcule la somme des valeurs dans une collection.

Non applicable.

Aggregate … In … Into Sum()

Enumerable.Sum

Queryable.Sum

Exemples de syntaxe d'expression de requête

Average

L'exemple de code suivant utilise la clause Aggregate Into Average dans Visual Basic pour calculer la température moyenne dans un tableau de nombres qui représentent des températures.


        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

L'exemple de code suivant utilise la clause Aggregate Into Count dans Visual Basic pour compter le nombre de valeurs dans un tableau qui sont supérieures ou égales à 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

L'exemple de code suivant utilise la clause Aggregate Into LongCount dans Visual Basic pour compter le nombre de valeurs dans un tableau.


        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

L'exemple de code suivant utilise la clause Aggregate Into Max dans Visual Basic pour calculer la température maximale dans un tableau de nombres qui représentent des températures.


        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

L'exemple de code suivant utilise la clause Aggregate Into Min dans Visual Basic pour calculer la température minimale dans un tableau de nombres qui représentent des températures.


        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

Sum

L'exemple de code suivant utilise la clause Aggregate Into Sum dans Visual Basic pour calculer le montant total des frais à partir d'un tableau de valeurs qui représentent des frais.


        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

Voir aussi

Tâches

Comment : calculer des valeurs de colonnes dans un fichier texte CSV (LINQ)

Comment : compter, additionner ou faire la moyenne de données à l'aide de LINQ (Visual Basic)

Comment : rechercher la valeur minimale ou maximale dans un résultat de requête à l'aide de LINQ (Visual Basic)

Comment : interroger les fichiers les plus volumineux dans une arborescence de répertoires (LINQ)

Comment : rechercher le nombre total d'octets dans un ensemble de dossiers (LINQ)

Référence

Aggregate, clause (Visual Basic)

System.Linq

Concepts

Vue d'ensemble des opérateurs de requête standard