Partager via


Opérations d’agrégation (Visual Basic)

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

L’illustration suivante montre 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.

Illustration montrant les 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 Descriptif Syntaxe de l’expression de requête Visual Basic Plus d’informations
Agrégat Effectue une opération d’agrégation personnalisée sur les valeurs d’une collection. Non applicable. Enumerable.Aggregate

Queryable.Aggregate
Moyen Calcule la valeur moyenne d’une collection de valeurs. Aggregate … In … Into Average() Enumerable.Average

Queryable.Average
Nombre Compte les éléments d’une collection, éventuellement uniquement ceux qui répondent à une fonction de prédicat. Aggregate … In … Into Count() Enumerable.Count

Queryable.Count
LongCount Compte les éléments d’une collection volumineuse, éventuellement uniquement ceux qui répondent à une fonction de prédicat. Aggregate … In … Into LongCount() Enumerable.LongCount

Queryable.LongCount
Max ou MaxBy Détermine la valeur maximale d’une collection. Aggregate … In … Into Max() Enumerable.Max
Enumerable.MaxBy
Queryable.Max
Queryable.MaxBy
Min ou MinBy Détermine la valeur minimale d’une collection. Aggregate … In … Into Min() Enumerable.Min
Enumerable.MinBy
Queryable.Min
Queryable.MinBy
Somme Calcule la somme des valeurs d’une collection. Aggregate … In … Into Sum() Enumerable.Sum

Queryable.Sum

Exemples de syntaxe d’expression de requête

Moyen

L’exemple de code suivant utilise la Aggregate Into Average clause dans Visual Basic pour calculer la température moyenne dans un tableau de nombres qui représentent les 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

Nombre

L’exemple de code suivant utilise la Aggregate Into Count clause dans Visual Basic pour compter le nombre de valeurs d’un tableau supérieur ou égal à 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 Aggregate Into LongCount clause 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 Aggregate Into Max clause pour calculer la température maximale dans un tableau de nombres qui représentent les 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 Aggregate Into Min clause pour calculer la température minimale dans un tableau de nombres qui représentent les 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

Somme

L’exemple de code suivant utilise la Aggregate Into Sum clause pour calculer le montant total des dépenses à partir d’un tableau de valeurs qui représentent les dépenses.


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