Udostępnij za pośrednictwem


Grupowanie danych (Visual Basic)

Grupowanie odnosi się do operacji umieszczania danych w grupach, aby elementy w każdej grupie współdzieliły wspólny atrybut.

Poniższa ilustracja przedstawia wyniki grupowania sekwencji znaków. Kluczem dla każdej grupy jest znak.

Diagram that shows a LINQ Grouping operation.

Standardowe metody operatorów zapytań, które grupują elementy danych, są wymienione w poniższej sekcji.

Metody

Nazwa metody opis Składnia wyrażeń zapytań języka Visual Basic Więcej informacji
GroupBy Grupy elementów, które mają wspólny atrybut. Każda grupa jest reprezentowana przez IGrouping<TKey,TElement> obiekt. Group … By … Into … Enumerable.GroupBy

Queryable.GroupBy
Tolookup Wstawia elementy do słownika Lookup<TKey,TElement> (jeden do wielu) na podstawie funkcji selektora kluczy. Nie dotyczy. Enumerable.ToLookup

Przykład składni wyrażenia zapytania

Poniższy przykład kodu używa klauzuli Group By do grupowania liczb całkowitych na liście zgodnie z tym, czy są parzyste, czy dziwne.

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  

Zobacz też