May 17 2008
HybridDictionary, Hashtable e ListDictionary
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é +.







