2009-04-02 16 views

Respuesta

20

Para .Net 2.0, casi siempre quiere Diccionario. Sin embargo, ten en cuenta que no se trata solo de un "reemplazo" para una Hashtable existente. Existen algunas diferencias en la forma en que funcionan (principalmente la forma en que manejan los valores nulos), lo que significa que primero debe verificar su código.

+5

+1 Por mencionar el manejo de nulos. Sería bueno explicar eso más ya que puede ser un poco inesperado obtener una excepción en lugar de nulo cuando una clave no existe en el diccionario. –

14

Hashtable está bastante obsoleto. Podría ser útil para interactuar con el código heredado.

Dictionary es una clase genérica presentada en .NET 2.0, junto con otras clases en el espacio de nombres System.Collections.Generic. Reemplazan las clases en el espacio de nombre System.Collections.

9

La principal ventaja de HashTable es que puede usarlo y destino .NET < 2.0.

De lo contrario, el diccionario < T, Y > (usado correctamente) es mucho mejor en todos los sentidos.

0

Esto es lo que sé

1) tiendas diccionario de pares de valores clave 2) Hastable también almacena en pares de valores clave, pero utiliza un clave hash para sondear el contenido.

Así que si tuviera que decidir qué usar, ¿Debo usar hashtable si mi colección es grande y quiero buscar un determinado artículo? ¿Y usar diccionario si la colección no es tan grande?

También una pregunta de seguimiento es, en C#, hastable no encadena como en c o C++ ¿es correcto?

Cuestiones relacionadas