Dela via


Gruppera data (Visual Basic)

Gruppering syftar på åtgärden att placera data i grupper så att elementen i varje grupp delar ett gemensamt attribut.

Följande bild visar resultatet av att gruppera en sekvens med tecken. Nyckeln för varje grupp är tecknet.

Diagram som visar en LINQ-grupperingsåtgärd.

Standardmetoderna för frågeoperatorer som grupperar dataelement visas i följande avsnitt.

Metoder

Metodnamn Beskrivning Syntax för Visual Basic-frågeuttryck Mer information
GruppEra Grupperar element som delar ett gemensamt attribut. Varje grupp representeras av ett IGrouping<TKey,TElement> objekt. Group … By … Into … Enumerable.GroupBy

Queryable.GroupBy
ToLookup Infogar element i en Lookup<TKey,TElement> (en en-till-många-ordlista) baserat på en nyckelväljare. Ej tillämpbart. Enumerable.ToLookup

Exempel på frågeuttryckssyntax

I följande kodexempel används Group By -satsen för att gruppera heltal i en lista beroende på om de är jämna eller udda.

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

Se även