May 17 2008

HybridDictionary, Hashtable e ListDictionary

Autor: Marcos Dell Antonio - Categorias: .NET

Tenho certeza que muitos desenvolvedores conhecem muito bem a classe Hashtable. Entretanto, alguns deles (e isso inclui até mesmo os mais experientes) desconhecem a HybridDictionary e a ListDictionary.

A função das três é a mesma: armazenar uma lista de objetos no formato key/value, ou seja, cada item indexado por uma chave. Até aqui nenhuma novidade.

O detalhe é que a ListDictionary foi criada e otimizada para armazenar no máximo até 10 itens, enquanto que a Hashtable suporta muito mais do que isso com um ótimo desempenho.

Na prática podemos pensar assim: a coleção armazenará até 10 itens? Se sim, use ListDictionary, caso contrário use Hashtable.

Mas e quando não sabemos quantos itens a coleção irá armazenar? Aí é que entra a HybridDictionary. Ela foi criada para ser flexível, ou seja, enquanto o número de itens for pequeno uma estrutura do tipo ListDictionary será utilizada para armazená-los. Quando este número de itens crescer, eles serão automaticamente armazenados em uma Hashtable.

Confira esta e outras dicas sobre coleções no livro Microsoft Visual C# 2005 - Passo a passo.

Fonte: blog do Yow-Hann Lee

Até +.

Adicione ao del.icio.us del.icio.us | Adicione ao Rec6 Rec6

Faça um comentário