Partilhar via


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

Enumerable.Distinct

Queryable.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.

Enumerable.Except

Queryable.Except

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.

Enumerable.Intersect

Queryable.Intersect

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.

Enumerable.Union

Queryable.Union

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.

Gráfico mostrando o comportamento de Distinct().

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.

Gráfico mostrando a ação de Except().

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.

Gráfico mostrando a interseção de duas sequências.

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.

Gráfico mostrando a união de duas sequê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 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)

System.Linq

Conceitos

Visão geral operadores de consulta padrão