J'ai ce codeliste de tri des listes en utilisant LINQ score élevé est d'abord, puis nom et prénom par ordre alphabétique
Person[] peopleArray = new Person[5]
{
new Person("John", "Jones", "001", 1450),
new Person("Jimmy", "Smith", "004", 1237),
new Person("Sue", "Baker", "002", 1534),
new Person("Chuck", "Smith", "003", 1450),
new Person("Toby", "Jones", "005", 1450)
};
var sortedPeopleList = peopleArray.OrderBy(a => a.score).ThenBy(a => a.lastName)
.ThenBy(a => a.firstName).Reverse();
foreach (Person p in sortedPeopleList)
Console.WriteLine(p.score + " " + p.id + " " + p.firstName + " " + p.lastName);
Console.ReadKey();
sortie est:
1534 002 Sue Baker
1450 003 Chuck Smith < = ceci devrait être # 4
1450 005 Toby Jones= cela devrait être # 3
1450 001 John Jones < = cela devrait être # 2
1237 004 Jimmy Smith
sortie désiré doit être triée par Score (décroissant), puis nom (croissant), enfin la dernière nom (croissant)
534 002 Sue Baker
1450 001 John Jones
1450 005 Toby Jones
1450 003 Chuck Smith
1237 004 Jimmy Smith
Toute suggestion serait utile. Merci!
brillant! Je n'ai pas réalisé qu'il y avait une méthode OrderByDescending. Merci beaucoup @spender. :-) –