Compartilhar via


Agrupar dados (Visual Basic)

O agrupamento refere-se à operação de colocação de dados em grupos, de modo que os elementos em cada grupo compartilhem um atributo comum.

A ilustração a seguir mostra os resultados do agrupamento de uma sequência de caracteres. A chave para cada grupo é o caractere.

Diagram that shows a LINQ Grouping operation.

Os métodos do operador de consulta padrão que agrupam elementos de dados estão listados na seção a seguir.

Métodos

Nome do método Descrição Sintaxe da Expressão de Consulta do Visual Basic Mais informações
GroupBy Agrupa elementos que compartilham um atributo comum. Cada grupo é representado por um objeto IGrouping<TKey,TElement>. Group … By … Into … Enumerable.GroupBy

Queryable.GroupBy
ToLookup Insere os elementos em um Lookup<TKey,TElement> (um dicionário one-to-many) com base em uma função de seletor de chave. Não aplicável. Enumerable.ToLookup

Exemplo de sintaxe de expressão de consulta

O seguinte exemplo de código usa a cláusula Group By para agrupar inteiros em uma lista de acordo com se eles são pares ou ímpares.

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  

Confira também