Compartilhar via


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

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 únicos que aparecem em qualquer uma das duas coleções.

Não aplicável.

Não aplicável.

Enumerable.Union

Queryable.Union

Comparação de operações de conjunto

Bb546153.collapse_all(pt-br,VS.110).gifDistinto

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().

Bb546153.collapse_all(pt-br,VS.110).gifExceto

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.

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

Bb546153.collapse_all(pt-br,VS.110).gifIntersecçã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.

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

Bb546153.collapse_all(pt-br,VS.110).gifUniã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.

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

System.Linq

Conceitos

Visão geral operadores de consulta padrão