Estoy tratando de averiguar cuándo y por qué usar un Diccionario o una HashTable. He hecho una pequeña búsqueda aquí y he encontrado personas que hablan sobre las ventajas genéricas del Diccionario con las que estoy totalmente de acuerdo, lo que lleva la ventaja del boxeo y el unboxing para un ligero aumento de rendimiento.
Pero también he leído que el Diccionario no siempre devolverá los objetos en el orden en que se insertan, cosa que está ordenada. Donde como una HashTable lo hará. Según tengo entendido, esto lleva a que HashTable sea mucho más rápido para algunas situaciones.
Mi pregunta es realmente, ¿cuáles podrían ser esas situaciones? ¿Estoy equivocado en mis supuestos anteriores? ¿Qué situaciones podría usar para elegir una por encima de la otra (sí, la última es un poco ambigua)?