Sdílet prostřednictvím


Seskupování dat (Visual Basic)

Seskupení odkazuje na operaci vkládání dat do skupin tak, aby prvky v každé skupině sdílely společný atribut.

Následující obrázek ukazuje výsledky seskupení posloupnosti znaků. Klíč pro každou skupinu je znak.

Diagram znázorňující operaci seskupení LINQ

Standardní metody operátoru dotazu, které seskupují datové prvky, jsou uvedeny v následující části.

Metody

Název metody Popis Syntaxe výrazů dotazu jazyka Visual Basic Další informace
GroupBy Seskupuje prvky, které sdílejí společný atribut. Každá skupina je reprezentována objektem IGrouping<TKey,TElement> . Group … By … Into … Enumerable.GroupBy

Queryable.GroupBy
ToLookup Vloží prvky do slovníku Lookup<TKey,TElement> 1:N na základě funkce selektoru klíče. Nelze použít. Enumerable.ToLookup

Příklad syntaxe výrazu dotazu

Následující příklad kódu používá klauzuli Group By k seskupení celých čísel v seznamu podle toho, zda jsou sudé nebo liché.

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  

Viz také