Regroupement de données (Visual Basic)

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.

Diagram that shows a LINQ Grouping operation.

Les méthodes d’opérateurs 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 Description Syntaxe de l'expression de requête en Visual Basic Informations complémentaires
GroupBy Regroupe les éléments qui partagent un attribut commun. Chaque groupe est représenté par un objet IGrouping<TKey,TElement>. 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 clause Group By pour regrouper des entiers dans une liste selon qu’ils sont pairs ou impairs.

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  

Voir aussi