Je sais que dans la grammaire Linq normale, orderby xxx descending
c'est très facile, mais comment faire cela dans l'expression Lambda?
250
Comme le dit Brannon, c'est OrderByDescending
et ThenByDescending
:
var query = from person in people
orderby person.Name descending, person.Age descending
select person.Name;
est équivalent à:
var query = people.OrderByDescending(person => person.Name)
.ThenByDescending(person => person.Age)
.Select(person => person.Name);
Utiliser
System.Linq.Enumerable.OrderByDescending()
?Par exemple:
la source
Essaye ça:
la source
Essayez ceci d'une autre manière:
Queryable.ThenBy
la source
Cela ne fonctionne que dans les situations où vous avez un champ numérique, mais vous pouvez mettre un signe moins devant le nom du champ comme suit:
Cependant , cela fonctionne un autre petit peu que
OrderByDescending
lorsque vous avez exécutez sur unint?
oudouble?
ou lesdecimal?
champs.Ce qui se passera est sur
OrderByDescending
les nulls sera à la fin, vs avec cette méthode, les nulls seront au début. Ce qui est utile si vous souhaitez mélanger les valeurs nulles sans diviser les données en morceaux et les épisser plus tard.la source
LastOrDefault()
ne fonctionne généralement pas, mais avec leTolist()
cela fonctionnera. Il n'est pas nécessaire d'OrderByDescending
utiliser uneTolist()
telle utilisation .la source