Operações de conjunto
Conjunto de operações no LINQ consultem operações de consulta que produzem um conjunto de resultados com base na presença ou ausência de elementos equivalentes dentro do mesmo ou separado coleções (ou conjuntos).
Os métodos de operador de consulta padrão que realizam operações de conjunto são listados na seção a seguir.
Métodos
Nome do método |
Descrição |
C# Expressão de consulta sintaxe |
Visual BasicSintaxe de expressões de consulta |
Mais informações |
---|---|---|---|---|
Distinto |
Remove duplica os valores de uma coleção. |
Não aplicável. |
Distinct |
|
Exceto |
Retorna a diferença de conjunto, o que significa que os elementos de uma coleção que não aparecem em uma coleção de segunda. |
Não aplicável. |
Não aplicável. |
|
Intersecção |
Retorna a interseção de conjunto, o que significa que os elementos que aparecem em cada uma das duas coleções. |
Não aplicável. |
Não aplicável. |
|
União |
Retorna a união de conjunto, o que significa que os elementos únicos que aparecem em qualquer uma das duas coleções. |
Não aplicável. |
Não aplicável. |
Comparação de operações de conjunto
Distinto
A ilustração a seguir mostra o comportamento da Enumerable.Distinct método em uma seqüência de caracteres.A seqüência retornada contém os elementos exclusivos da seqüência de entrada.
Exceto
A ilustração a seguir mostra o comportamento do Enumerable.Except.A seqüência retornada contém apenas os elementos da primeira seqüência de entrada que não estão na segunda seqüência de entrada.
Intersecção
A ilustração a seguir mostra o comportamento do Enumerable.Intersect.A seqüência retornada contém os elementos que são comuns a ambas as seqüências de entrada.
União
A ilustração a seguir mostra uma operação union em duas seqüências de caracteres.A seqüência retornada contém os elementos exclusivos de ambas as seqüências.
Exemplo de sintaxe de expressão de consulta
O exemplo a seguir usa a Distinct cláusula (disponível em Visual Basic apenas) 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
Consulte também
Tarefas
Como: combinar e comparar as coleções de seqüência de caracteres (LINQ)
Como: localizar a diferença de conjunto entre duas listas (LINQ)
Referência
Cláusula DISTINCT (Visual Basic)