Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
A biblioteca de classes do .NET fornece várias classes de coleção genéricas nos namespaces System.Collections.Generic 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érica são analógicos 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 de ArrayList. Há classes genéricas Queue<T> e Stack<T> que correspondem às versões não genéricas.
Há versões genéricas e não genéricas de 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 nenhum equivalente não genérico.
A LinkedList<T> classe genérica é uma lista vinculada verdadeira. Ele não tem nenhum equivalente não genérico.
System.Collections.ObjectModel
A Collection<T> classe genérica fornece uma classe base para derivar seus próprios tipos de coleção genérica. A classe ReadOnlyCollection<T> fornece uma maneira fácil de produzir uma coleção somente leitura de qualquer tipo que implemente a interface genérica IList<T>. A KeyedCollection<TKey,TItem> classe genérica 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 pudessem ser atribuídos null. Isso pode ser útil ao trabalhar com consultas de banco de dados, em que campos que contêm tipos de valor podem estar ausentes. O parâmetro de tipo genérico pode ser qualquer tipo de valor.
Observação
No C# e no Visual Basic, não é necessário usar Nullable<T> explicitamente porque o idioma tem sintaxe para tipos que permitem valor nulo. Consulte tipos de valor anuláveis (referência de C#) e tipos de valor anuláveis (Visual Basic).
A ArraySegment<T> estrutura genérica fornece uma maneira de delimitar um intervalo 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 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 evento. Em seguida, você pode declarar o evento da seguinte maneira:
public event EventHandler<MyEventArgs> MyEvent;
Public Event MyEvent As EventHandler(Of MyEventArgs)