Ordenar las claves de un Hashtable con C#

Patxi Echarte, November 27th, 2007

Hoy toca una sencillita, pero de esas que te pueden ahorrar algunas horas de mosqueo. Si sueles trabajar con colecciones de tipo Hashtable, puede que te hayas dado cuenta que cuando intentas obtener su contenido éste no se obtiene en el mismo orden en el que lo has introducido. Quizás te hayas dado cuenta introduciendo elementos ordenados de forma alfabética por su clave, obteniéndolos luego desordenados al intentar recuperarlos.

El motivo de esto es que los Hashtable están hechos para acceder de forma rápida a los elementos que contienen, pero no mantienen el orden de las claves. En el caso de que quieras obtener estas claves de forma alfabética puedes utilizar el siguiente truco:

// coleccion es un Hashtable previamente definido
ArrayList aKeys = new ArrayList(coleccion.Keys);
aKeys.Sort();
foreach (string key in aKeys)
   Console.WriteLine(key);
Comparte esta información

Deja un comentario