Freigeben über


Gruppieren von Daten (Visual Basic)

Die Gruppierung bezieht sich auf den Vorgang des Einfügens von Daten in Gruppen, sodass die Elemente in jeder Gruppe ein gemeinsames Attribut gemeinsam nutzen.

Die folgende Abbildung zeigt die Ergebnisse der Gruppierung einer Abfolge von Zeichen. Der Schlüssel für jede Gruppe ist das Zeichen.

Diagramm, das einen LINQ-Gruppierungsvorgang zeigt.

Die Standardmäßigen Abfrageoperatormethoden, die Datenelemente gruppieren, werden im folgenden Abschnitt aufgeführt.

Methodik

Methodenname BESCHREIBUNG Syntax des Visual Basic-Abfrageausdrucks Mehr Informationen
GruppierenNach Gruppiert Elemente, die ein gemeinsames Attribut haben. Jede Gruppe wird durch ein IGrouping<TKey,TElement> Objekt dargestellt. Group … By … Into … Enumerable.GroupBy

Queryable.GroupBy
ToLookup Fügt Elemente basierend auf einer Schlüsselauswahlfunktion in eine Lookup<TKey,TElement>-Klasse (one-to-many-Wörterbuch) ein. Nicht zutreffend. Enumerable.ToLookup

Abfrageausdruckssyntax (Beispiel)

Im folgenden Codebeispiel wird die Group By Klausel zum Gruppieren ganzzahliger Zahlen in einer Liste verwendet, je nachdem, ob sie gerade oder ungerade sind.

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  

Siehe auch