Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
A biblioteca de classes .NET fornece várias classes de coleção genéricas nos System.Collections.Generic namespaces e System.Collections.ObjectModel . Para obter informações mais detalhadas sobre essas classes, consulte Tipos de coleção comumente usados.
System.Collections.Generic
Muitos dos tipos de coleção genéricos são análogos diretos de tipos não genéricos. Dictionary<TKey,TValue> é uma versão genérica de Hashtable; usa a estrutura KeyValuePair<TKey,TValue> genérica para enumeração em vez de DictionaryEntry.
List<T> é uma versão genérica do ArrayList. Existem genéricos Queue<T> e Stack<T> classes que correspondem às versões não genéricas.
Existem versões genéricas e não genéricas do SortedList<TKey,TValue>. Ambas as versões são híbridas de um dicionário e uma lista. A SortedDictionary<TKey,TValue> classe genérica é um dicionário puro e não tem contrapartida não genérica.
A LinkedList<T> classe genérica é uma verdadeira lista vinculada. Não tem contrapartida não genérica.
System.Collections.ObjectModel
A Collection<T> classe genérica fornece uma classe base para criar os seus próprios tipos de coleções genéricas. A classe ReadOnlyCollection<T> fornece uma maneira fácil de criar uma coleção apenas de leitura a partir de qualquer tipo que implemente a interface genérica IList<T>. A KeyedCollection<TKey,TItem> classe generic fornece uma maneira de armazenar objetos que contêm suas próprias chaves.
Outros tipos genéricos
A Nullable<T> estrutura genérica permite que você use tipos de valor como se eles pudessem ser atribuídos null
. Isso pode ser útil ao trabalhar com consultas de banco de dados, onde campos que contêm tipos de valor podem estar faltando. O parâmetro de tipo genérico pode ser qualquer tipo de valor.
Observação
Em C# e Visual Basic, não é necessário usar Nullable<T> explicitamente porque a linguagem tem sintaxe para tipos anuláveis. Consulte Tipos de valor anulável (referência C#) e Tipos de valor anulável (Visual Basic).
A ArraySegment<T> estrutura genérica fornece uma maneira de delimitar uma gama de elementos dentro de uma matriz unidimensional, baseada em zero de qualquer tipo. O parâmetro de tipo genérico é o tipo dos elementos da matriz.
O EventHandler<TEventArgs> delegado genérico elimina a necessidade de declarar um tipo de delegado para manipular eventos, se o evento seguir o padrão de manipulação de eventos usado pelo .NET. Por exemplo, suponha que você tenha criado uma MyEventArgs
classe, derivada de EventArgs, para armazenar os dados do seu evento. Em seguida, você pode declarar o evento da seguinte maneira:
public event EventHandler<MyEventArgs> MyEvent;
Public Event MyEvent As EventHandler(Of MyEventArgs)