Conjunto de operações
Conjunto de operações no LINQ consultem operações de consulta para produzem um conjunto de resultados com base na presença ou ausência de elementos equivalentes dentro do mesmo ou separados 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ão 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 exclusivos que aparecem em uma das duas coleções. |
Não aplicável. |
Não aplicável. |
Comparação das 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 de 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 de 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 de entrada.
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 números 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: Encontrar a diferença de conjunto entre duas listas (LINQ)
Referência
Cláusula Distinta (Visual Basic)