Adatok csoportosítása (Visual Basic)

A csoportosítás az adatok csoportokba helyezésének műveletére utal, így az egyes csoportok elemei közös attribútumban osztoznak.

Az alábbi ábrán egy karaktersorozat csoportosításának eredményei láthatók. Az egyes csoportok kulcsa a karakter.

LINQ-csoportosítási műveletet bemutató diagram.

Az adatelemeket csoportosító szabványos lekérdezésoperátor-metódusok a következő szakaszban találhatók.

Módszerek

Metódus neve Leírás Visual Basic Query Expression Szintaxis További információ
Csoportosítás Csoportosítja azokat az elemeket, amelyek közös attribútummal rendelkeznek. Minden csoportot egy IGrouping<TKey,TElement> objektum jelöl. Group … By … Into … Enumerable.GroupBy

Queryable.GroupBy
ToLookup Elemek beszúrása egy Lookup<TKey,TElement> (egy-a-többhöz) szótárba egy kulcsválasztó függvény alapján. Nem alkalmazható. Enumerable.ToLookup

Példa lekérdezési kifejezés szintaxisára

Az alábbi példakód a Group By záradék használatával csoportosítja az egész számokat egy listában attól függően, hogy párosak vagy páratlanok-e.

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

Lásd még