ho una lista annidata,OrderBy/ThenBy looping - Liste annidate in C#
List<List<String>> intable;
dove vorrei ordinare tutte le colonne. Il problema è che il numero di colonne dipende dall'input dell'utente.
Ordinamento della lista come questo funziona bene (assumendo 4 colonne per questo esempio)
var tmp = intable.OrderBy(x => x[0]);
tmp = tmp.ThenBy(x => x[1]);
tmp = tmp.ThenBy(x => x[2]);
tmp = tmp.ThenBy(x => x[3]);
intable = tmp.ToList();
Ma, quando ho messo in un ciclo, come questo:
var tmp = intable.OrderBy(x => x[0]);
for (int i = 1; i <= 3; i++)
{
tmp = tmp.ThenBy(x => x[i]);
}
intable = tmp.ToList();
esso non funziona più correttamente e ordina solo la quarta colonna.
Vedere questo [http://social.msdn.microsoft .com/forum/it-IT/linqprojectgeneral/thread/61e502b4-6795-4e51-b70e-2be642cfc413 /] (http://social.msdn.microsoft.com/forums/en-US/linqprojectgeneral/thread/61e502b4-6795 -4e51-b70e-2be642cfc413 /) –