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 |
---|---|
Não fornecido. |
|
Não fornecido. |
|
Não fornecido. |
|
Não fornecido. |
|
Não fornecido. |
|
Não fornecido. |
|
Não fornecido. |
|
Não fornecido. |
Consulte também
Referência
Conceitos
Tipos de Coleção Comumente Usadas