Partilhar via


Coleções e Estruturas de Dados

Dados relacionados podem ser tratados com mais eficiência quando agrupados juntos em uma coleção. Em vez de escrever código separado para tratar individualmente cada objeto, você pode usar o mesmo código para processar todos os elementos de uma coleção.

Para gerenciar uma coleção, use o System.Array classe e as classes de System.Collections, System.Collections.Generic, e System.Collections.Concurrent namespaces para adicionar, remover e modificar os elementos individuais ou um intervalo de elementos na coleção. Uma coleção inteira ainda pode ser copiada para outra coleção.

Alguns System.Collections classes têm recursos de classificação e a maioria é indexada. Gerenciamento de memória é tratado automaticamente, e a capacidade de uma coleção é expandida conforme necessário. Sincronização fornece segurança de segmentos quando estiver acessando os membros da coleção. Alguns System.Collections classes podem gerar wrappers que compõem a coleção somente leitura ou fixo-tamanho. Qualquer System.Collections classe pode gerar seu próprio enumerador que facilita iterar por meio de elementos.

No .NET Framework versão 2.0, classes de coleção genérica fornecem novas funcionalidades e facilitam criar conjuntos de coleções fortemente tipadas. Consulte os namespaces System.Collections.Generic e System.Collections.ObjectModel.

No .NET Framework versão 4, as coleções de System.Collections.Concurrent namespace fornecem operações eficientes de thread-safe para acessar itens de coleção de vários segmentos.

LINQ to Objects o recurso de permite usar consultas LINQ para acessar objetos em memória, como o tipo de objeto implementa o System.Collections.IEnumerable ou System.Collections.Generic.IEnumerable<T> interface. Consultas LINQ fornecem um padrão comum para acessar dados, são geralmente mais concisas e legíveis que loops foreach padrão e fornecem recursos de filtragem, classificação e agrupamento. Consultas LINQ também podem melhorar o desempenho. Para obter mais informações, consulte LINQ para Objetos e Parallel LINQ PLINQ).

Tópicos relacionados

Título

Descrição

Definindo Coleções

Descreve o que são tipos de coleção e explica as diferenças entre os tipos de coleção genéricas e o.Biblioteca de classes do NET Framework.

Tipos de Coleção Comumente Usadas

Descreve os tipos de coleção genérica e não genérica usados com frequência, como System.Array, System.Collections.Generic.List<T> e System.Collections.Generic.Dictionary<TKey, TValue>.

Coleções de bits

Descreve tipos de coleção System.Collections.BitArray e System.Collections.Specialized.BitVector32.

Coleções Especializadas

Descreve coleções de propósito especial, como System.Collections.Specialized.NameValueCollection, System.Collections.Specialized.StringDictionary e System.Collections.Specialized.StringCollection.

Coleções de thread-Safe.

Descreve os tipos de coleção, como System.Collections.Concurrent.BlockingCollection<T> e System.Collections.Concurrent.ConcurrentBag<T> que ofereçam suporte seguro e eficiente o acesso simultâneo de vários segmentos.

Criando e Manipulando Coleções

Descreve como selecionar o melhor tipo de coleção, enumerar coleções, usar coleções com vários segmentos e classificar as coleções.

Quando Usar Coleções Genéricas

Descreve o uso de tipos genéricos de coleção.

Referência

System.Array

System.Collections

System.Collections.Concurrent

System.Collections.Generic

System.Collections.Specialized

System.Linq