Partilhar via


Definir operações (Visual Basic)

As operações de conjunto no LINQ referem-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 estão listados na seção a seguir.

Metodologia

Nome do método Descrição Sintaxe da expressão de consulta do Visual Basic Mais informações
Distinto/DistintoPor Remove valores duplicados de uma coleção. Distinct Enumerable.Distinct
Enumerable.DistinctBy
Queryable.Distinct
Queryable.DistinctBy
Exceto ou ExceptBy Retorna a diferença definida, o que significa 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 do conjunto, o que significa 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 do conjunto, o que significa elementos exclusivos 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 em conjuntos

Distinto

A ilustração a seguir mostra 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.

Gráfico mostrando o comportamento de Distinct().

Exceto

A ilustração a seguir mostra o comportamento do 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.

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

Cruzamento

A ilustração a seguir mostra o comportamento do Enumerable.Intersect. A sequência retornada contém os elementos que são comuns a ambas as sequências de entrada.

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

União

A ilustração a seguir mostra uma operação de união em duas sequências de caracteres. A sequência retornada contém os elementos exclusivos de ambas as sequê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 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 

Ver também