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

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

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

Diagram that shows a LINQ Grouping operation.

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

Методы

Имя метода 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  

См. также