Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier les répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de changer de répertoire.
Le regroupement consiste à placer des données dans des groupes afin que les éléments de chaque groupe partagent un attribut commun.
L’illustration suivante montre les résultats du regroupement d’une séquence de caractères. La clé de chaque groupe est le caractère.
Les méthodes d’opérateur de requête standard qui regroupent les éléments de données 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 |
|---|---|---|---|
| Grouper par | Regroupe les éléments qui partagent un attribut commun. Chaque groupe est représenté par un IGrouping<TKey,TElement> objet. | Group … By … Into … |
Enumerable.GroupBy Queryable.GroupBy |
| ToLookup | Insère des éléments dans un Lookup<TKey,TElement> (un dictionnaire de type un-à-plusieurs) basé sur une fonction de sélecteur de clés. | Non applicable. | Enumerable.ToLookup |
Exemple de syntaxe d’expression de requête
L’exemple de code suivant utilise la Group By clause pour regrouper des entiers dans une liste selon qu’elles sont égales ou impaires.
Dim numbers As New System.Collections.Generic.List(Of Integer)(
New Integer() {35, 44, 200, 84, 3987, 4, 199, 329, 446, 208})
Dim query = From number In numbers
Group By Remainder = (number Mod 2) Into Group
Dim sb As New System.Text.StringBuilder()
For Each group In query
sb.AppendLine(If(group.Remainder = 0, vbCrLf & "Even numbers:", vbCrLf & "Odd numbers:"))
For Each num In group.Group
sb.AppendLine(num)
Next
Next
' Display the results.
MsgBox(sb.ToString())
' This code produces the following output:
' Odd numbers:
' 35
' 3987
' 199
' 329
' Even numbers:
' 44
' 200
' 84
' 4
' 446
' 208