Бөлісу құралы:


Группирование данных (Visual Basic)

Группированием называют операцию объединения данных в группы таким образом, чтобы у элементов в каждой группе был общий атрибут.

На следующем рисунке показаны результаты операции группирования последовательности символов. Ключ для каждой группы — это символ.

Схема, показывающая операцию группировки LINQ.

Стандартные методы оператора запроса, которые группируют элементы данных, перечислены в следующем разделе.

Методы

Имя метода Описание Синтаксис выражения запроса Visual Basic Дополнительная информация
Группировка по Группирует элементы с общим атрибутом. Каждая группа представлена IGrouping<TKey,TElement> объектом. Group … By … Into … Enumerable.GroupBy

Queryable.GroupBy
ToLookup Вставляет элементы в Lookup<TKey,TElement> (словарь "один ко многим") в зависимости от функции выбора ключа. Неприменимо. Enumerable.ToLookup

Пример синтаксиса выражения запроса

В следующем примере кода используется Group By оператор для группировки целых чисел в списке в зависимости от того, являются ли они четными или нечетными.

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

См. также