Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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.
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