Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Группированием называют операцию объединения данных в группы таким образом, чтобы у элементов в каждой группе был общий атрибут.
На следующем рисунке показаны результаты операции группирования последовательности символов. Ключ для каждой группы — это символ.
Стандартные методы оператора запроса, которые группируют элементы данных, перечислены в следующем разделе.
Методы
| Имя метода | Описание | Синтаксис выражения запроса 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