Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Definir operações no LINQ refere-se a operações de consulta que produzem um conjunto de resultados baseado na presença ou ausência de elementos equivalentes dentro das mesmas coleções ou conjuntos separados.
Os métodos de operador de consulta padrão que executam operações de conjunto sã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 |
|---|---|---|---|
| Distinct ou DistinctBy | Remove os valores duplicados de uma coleção. | Distinct |
Enumerable.Distinct Enumerable.DistinctBy Queryable.Distinct Queryable.DistinctBy |
| Exceto ou ExceptBy | Retorna a diferença de conjuntos, ou seja, os elementos de uma coleção que não aparecem em uma segunda coleção. | Não aplicável. | Enumerable.Except Enumerable.ExceptBy Queryable.Except Queryable.ExceptBy |
| Intersect ou IntersectBy | Retorna a interseção de conjunto, o que significa os elementos que aparecem em cada uma das duas coleções. | Não aplicável. | Enumerable.Intersect Enumerable.IntersectBy Queryable.Intersect Queryable.IntersectBy |
| Union ou UnionBy | Retorna a união de conjunto, o que significa os elementos únicos que aparecem em qualquer uma das duas coleções. | Não aplicável. | Enumerable.Union Enumerable.UnionBy Queryable.Union Queryable.UnionBy |
Comparação de operações de conjuntos
Distinto
A ilustração a seguir ilustra o comportamento do Enumerable.Distinct método em uma sequência de caracteres. A sequência retornada contém os elementos exclusivos da sequência de entrada.
Exceto
A ilustração a seguir ilustra o comportamento de Enumerable.Except. A sequência retornada contém apenas os elementos da primeira sequência de entrada que não estão na segunda sequência de entrada.
Intersectar
A ilustração a seguir ilustra o comportamento de Enumerable.Intersect. A sequência retornada contém os elementos que são comuns a ambas as sequências de entrada.
União
A ilustração a seguir ilustra uma operação de união em duas sequências de caracteres. A sequência retornada contém os elementos exclusivos das duas sequências de entrada.
Sintaxe de expressão de consulta: exemplo
O exemplo a seguir usa a Distinct cláusula em uma consulta LINQ para retornar os números exclusivos de uma lista de inteiros.
Dim classGrades = New System.Collections.Generic.List(Of Integer) From {63, 68, 71, 75, 68, 92, 75}
Dim distinctQuery = From grade In classGrades
Select grade Distinct
Dim sb As New System.Text.StringBuilder("The distinct grades are: ")
For Each number As Integer In distinctQuery
sb.Append(number & " ")
Next
' Display the results.
MsgBox(sb.ToString())
' This code produces the following output:
' The distinct grades are: 63 68 71 75 92