Группирование данных (Visual Basic)
Группированием называют операцию объединения данных в группы таким образом, чтобы у элементов в каждой группе был общий атрибут.
На следующем рисунке показаны результаты операции группирования последовательности символов. Ключ для каждой группы — это символ.
Далее перечислены методы стандартных операторов запроса, которые группируют элементы данных.
Методы
Имя метода | Description | Синтаксис выражения запроса Visual Basic | Дополнительные сведения |
---|---|---|---|
GroupBy | Группирует элементы с общим атрибутом. Каждая группа представлена объектом 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
См. также
Совместная работа с нами на GitHub
Источник этого содержимого можно найти на GitHub, где также можно создавать и просматривать проблемы и запросы на вытягивание. Дополнительные сведения см. в нашем руководстве для участников.