Digamos que tengo una lista de canciones.¿Cómo puedo ordenar una lista <T> por múltiples T.attributes?
Song {
public string Name = "";
public int PlayOrder = 0;
}
Ahora quiero que los clasifique por primera vez por Orden de Reproducción a partir de cero y en segundo lugar por nombre alfabéticamente.
lo tanto, un sistema de ejemplo de resultados ordenados habría (Nombre, Orden de Reproducción):
/*
Pachelbel's Canon, 0
A Happy Song, 4
Beethoven's 5th, 4
Some Other Song, 7
*/
ver cómo el playorder = 4 unidades están en orden alfabético? Eso es lo que estoy buscando.
Ahora mismo tengo que sólo se puede clasificar por un campo:
List<Song> final = new List<Song>();
...
final.Sort((x, y) => x.PlayOrder.CompareTo(y.PlayOrder));
return final;
¿Cómo se puede también ordenar por Nombre como se ha demostrado anteriormente?
Tenga en cuenta que esto devuelve una nueva secuencia 'IEnumerable' en lugar de ordenar la lista original en contexto. –
LukeH
Si quisiera que devolviera una lista, ¿podría agregar un .ToList() al final? – BigOmega
sí, es correcto –