Compartilhar via


Operações de Conjuntos HashSet e LINQ

Este tópico compara as operações de HashSet<T> e as operações de conjuntos de LINQ (Language-Integrated Query).

Operações de Conjunto LINQ

LINQ fornece acesso a algumas operações de conjuntos em qualquer fonte de dados que implemente as interfaces IEnumerable ou IQueryable. Isso inclui matrizes e coleções.

As operações de conjunto que LINQ fornece são as seguintes:

  • Distinto

  • União

  • Intersecção

  • Exceto

Para obter mais informações sobre LINQ, consulte LINQ (consulta integrada à linguagem) e Parallel LINQ PLINQ). Para obter mais informações sobre as operações de conjunto do LINQ, consulte Conjunto de operações.

Quando utilizar HashSet<T>

A principal diferença entre LINQ definir operações e HashSet<T> de operações é que as operações de conjunto LINQ sempre retornam uma nova IEnumerable<T> coleção, enquanto o HashSet<T> métodos equivalentes modificam a coleção atual. HashSet<T>Fornece um conjunto maior e mais robusto conjunto de operações. Por exemplo, HashSet<T> fornece comparações como IsSubsetOf e IsSupersetOf.

Normalmente, se você deve criar um novo conjunto ou se seu aplicativo precisa acessar apenas as operações de conjunto fornecidas, usar as operações de conjunto do LINQ em qualquer coleção IEnumerable<T> ou matriz será suficiente. No entanto, se seu aplicativo requer acesso a operações de conjunto adicionais, ou não é desejável ou necessária a criação de uma nova coleção, utilize a classe HashSet<T>.

Operações de Conjunto HashSet<T> e LINQ

A tabela a seguir mostra as operações HashSet<T> e as operações de conjunto equivalentes do LINQ.

Operação HashSet (De T)

Equivalente em LINQ

UnionWith

Union

IntersectWith

Intersect

ExceptWith

Except

Não fornecido.

Distinct

SymmetricExceptWith

Não fornecido.

Overlaps

Não fornecido.

IsSubsetOf

Não fornecido.

IsProperSubsetOf

Não fornecido.

IsSupersetOf

Não fornecido.

IsProperSupersetOf

Não fornecido.

SetEquals

Não fornecido.

Consulte também

Referência

HashSet<T>

Conceitos

Coleção do Tipo HashSet

Parallel LINQ PLINQ)

Conjunto de operações

Tipos de Coleção Comumente Usadas

Outros recursos

LINQ (consulta integrada à linguagem)