Estoy tratando de ordenar los datos de un tipo T en un contenedor por dos de las propiedades de T. Es potencialmente una gran cantidad de datos, por lo que preferiría que la clasificación ocurriera en la inserción. He examinado tanto List
como SortedList
, pero ambos no proporcionan la funcionalidad que necesito.Ordenando la inserción con una función de comparación
¿C# proporciona un contenedor que permite tanto ordenar en la inserción como ordenar una función de comparación? Me gustaría evitar la ordenación posterior a la inserción como List.Sort
, y evitar la sobrecarga de utilizar los datos como clave y valor para SortedList
.
Hay una interfaz 'IComparer' que puede ayudar con las funciones de clasificación. Cada elemento podría usar su objeto comparador personalizado para ordenar por cualquier combinación de propiedades del elemento. Puede ser necesario implementar 'IList' para un contenedor de clasificación personalizado. –
IAbstract
Esto parece ser un problema más algorítmico que uno de estructura de datos. ¿Tiene un punto final definido, cuando todos los datos están insertados en su lista? ¿Necesitas datos mientras se insertan más datos? ¿Necesita múltiples valores idénticos en esta lista? ¿Cómo se llama "gran cantidad de datos"? –
Eche un vistazo a esta publicación ... probablemente responderá a su pregunta: http://devlicio.us/blogs/marcin_hoppe/archive/2007/05/15/how-to-keep-list-t-sorted. aspx –