web-dev-qa-db-fra.com

C # list.Orderby décroissant

Je souhaite recevoir un liste triée par 'Product.Name' in ordre décroissant.

Semblable à la fonction ci-dessous qui trie la liste par ordre croissant, en sens inverse, est-ce possible?

var newList = list.OrderBy(x => x.Product.Name).ToList();
138
PFranchise

Sûr:

var newList = list.OrderByDescending(x => x.Product.Name).ToList();

Doc: OrderByDescending (IEnumerable, Func) .

En réponse à votre commentaire:

var newList = list.OrderByDescending(x => x.Product.Name)
                  .ThenBy(x => x.Product.Price)
                  .ToList();
245
StriplingWarrior

Oui. Utilisez OrderByDescending au lieu de OrderBy.

21
Mark Byers
list.OrderByDescending();

travaille pour moi.

9
Tablet
var newList = list.OrderBy(x => x.Product.Name).Reverse()

Cela devrait faire le travail.

6
Beedjees

regarde ce morceau de code de mon projet

J'essaie de réorganiser la liste en fonction d'une propriété à l'intérieur de mon modèle,

 allEmployees = new List<Employee>(allEmployees.OrderByDescending(employee => employee.Name));

mais j'ai rencontré un problème quand un small and capital letters exist, donc pour le résoudre, j'ai utilisé le comparateur de chaînes.

allEmployees.OrderBy(employee => employee.Name,StringComparer.CurrentCultureIgnoreCase)
1
Basheer AL-MOMANI