Tengo una clase que tiene varias listas <> contenidas en ella. Es básicamente una tabla almacenada con cada columna como una lista <>. Cada columna no contiene el mismo tipo. Cada lista también tiene la misma longitud (tiene la misma cantidad de elementos).Lista de clasificación C# basada en otra lista
Por ejemplo:
tengo 3 Lista <> objetos; una lista, dos listas y tres listas.
//Not syntactically correct
List<DateTime> one = new List...{4/12/2010, 4/9/2006, 4/13/2008};
List<double> two = new List...{24.5, 56.2, 47.4};
List<string> three = new List...{"B", "K", "Z"};
Quiero ser capaz de enumerar uno del más antiguo al más reciente ordenar: uno = {4/9/2006, 4/13/2008, 4/12/2010};
Para hacer esto moví el elemento 0 hasta el final.
Luego quiero ordenar la lista dos y tres de la misma manera; moviendo el primero al último.
Así que cuando ordeno una lista, quiero que los datos en el índice correspondiente en las otras listas también cambien de acuerdo con la forma en que se ordena la lista.
Supongo que tengo que sobrecargar IComparer de alguna manera, pero siento que hay un atajo del que no me he dado cuenta.
Así que recorro la totalidad de cada lista y creo una estructura de datos a partir de los datos. Luego ordeno los datos, luego los vuelvo a poner en las listas. Esto tiene sentido, pero no parece tan eficiente. Al menos funcionará y es mejor de lo que tengo actualmente. Gracias. Editar: no necesariamente sé que hay 3 elementos, así que no puedo usar una estructura. Una lista probablemente podría funcionar, pero ¿tendría que preocuparme por el casting en general? –
@John - ¿Recibe estas listas de una fuente incontrolable? – ChaosPandion
Sí, los objetos List <> que recibo no se pueden cambiar; sin embargo, pueden ordenarse en su lugar. –