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.
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. |
|
Average |
Calcule la valeur moyenne d'une collection de valeurs. |
Non applicable. |
Aggregate … In … Into 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() |
|
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() |
|
Max |
Détermine la valeur maximale dans une collection. |
Non applicable. |
Aggregate … In … Into Max() |
|
Min |
Détermine la valeur minimale dans une collection. |
Non applicable. |
Aggregate … In … Into Min() |
|
Sum |
Calcule la somme des valeurs dans une collection. |
Non applicable. |
Aggregate … In … Into 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 : 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)