¿Por qué hay solo un SortedList<TKey, TValue>
que se parece más a un diccionario, pero no SortedList<T>
que en realidad es solo una lista que siempre está ordenada?¿Por qué no hay SortedList <T> en .NET?
De acuerdo con the MSDN documentation on SortedList, en realidad se implementa internamente como una matriz de tamaño dinámico de KeyValuePair<TKey, TValue>
que siempre está ordenada por la clave. ¿No sería la misma clase más útil como una lista de cualquier tipo T
? ¿No encajaría eso mejor el nombre también?
hmm, una idea interesante. Pero si tuviera una SortedList ¿cómo realizaría la clasificación (¿dónde está la 'clave')? ¿Tendría que hacer que Foo implemente IComparable? –
RPM1984
Tengo que estar de acuerdo contigo; dado el nombre, realmente no esperarías que esta clase contenga pares clave-valor. No es un diccionario, por supuesto, ya que puede tener la misma clave presente en la lista varias veces. –
@ RPM1984 - Sí, podría hacer Foo IComparable o podría suministrar un comparador cuando construya la lista. –