Por que Dictionary é preferível a Hashtable em C#? Analisando as diferenças
Olá a todos! Sou um desenvolvedor C# iniciante e me deparei com uma situação que me confundiu. Ao estudar coleções, encontrei duas classes semelhantes: `Hashtable` e `Dictionary`. Ambas, pelo que entendi, armazenam pares "chave-valor" e permitem buscar dados rapidamente pela chave.
Em exemplos antigos de código e em alguns livros, vejo frequentemente `Hashtable`. Por exemplo, assim:
```csharp
Hashtable table = new Hashtable();
table.Add("chave1", "valor1");
table.Add(123, 42); // chave — int, valor — int
string val = (string)table["chave1"]; // precisa de cast explícito
```
Mas em projetos modernos e no Stack Overflow, todo mundo escreve sobre `Dictionary`. Tentei ambas as opções e notei que com `Dictionary` o código parece diferente:
```csharp
Dictionary dict = new Dictionary();
dict.Add("chave1", "valor1");
// dict.Add(123, 42); // Erro de compilação! Tipo incorreto
string val = dict["chave1"]; // cast não é necessário
```
Minha pergunta: qual é a diferença fundamental
No answers yet.
Faça login para deixar uma resposta
Blogs