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.
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
Colaborar conosco no GitHub
A fonte deste conteúdo pode ser encontrada no GitHub, onde você também pode criar e revisar problemas e solicitações de pull. Para obter mais informações, confira o nosso guia para colaboradores.