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 that shows a LINQ Grouping operation.

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. Nevztahuje se. 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é