Compartilhar via


Definir Operações (Visual Basic)

As operações de conjunto na LINQ referem-se a operações de consulta que geram um conjunto de resultados baseado na presença ou ausência de elementos equivalentes dentro da mesma ou de coleções (ou conjuntos) separadas.

Os métodos de operador de consulta padrão que executam operações de conjunto estão listados na seção a seguir.

Métodos

Nome do método Descrição Sintaxe da Expressão de Consulta do Visual Basic Mais informações
Distinct ou DistinctBy Remove os valores duplicados de uma coleção. Distinct Enumerable.Distinct
Enumerable.DistinctBy
Queryable.Distinct
Queryable.DistinctBy
Exceto ou ExceptBy Retorna a diferença de conjunto, 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 de conjunto, o que significa os 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 de conjunto, o que significa os elementos únicos 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 de conjuntos

Distinct

A ilustração a seguir mostra o comportamento do método Enumerable.Distinct em uma sequência de caracteres. A sequência retornada contém os elementos exclusivos da sequência de entrada.

Graphic showing the behavior of Distinct().

Except

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

Graphic showing the action of Except().

Intersect

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

Graphic showing the intersection of two sequences.

Union

A ilustração a seguir descreve uma operação de união em duas sequências de caracteres. A sequência retornada contém os elementos exclusivos das duas sequências de entrada.

Graphic showing the union of two sequences.

Exemplo de sintaxe de expressão de consulta

O exemplo a seguir usa a cláusula Distinct 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 

Confira também