Eu sei que na gramática normal do Linq, orderby xxx descending
é muito fácil, mas como faço isso na expressão Lambda?
250
Como Brannon diz, é OrderByDescending
e ThenByDescending
:
var query = from person in people
orderby person.Name descending, person.Age descending
select person.Name;
é equivalente a:
var query = people.OrderByDescending(person => person.Name)
.ThenByDescending(person => person.Age)
.Select(person => person.Name);
Usar
System.Linq.Enumerable.OrderByDescending()
?Por exemplo:
fonte
Tente o seguinte:
fonte
Tente isso de outra maneira:
Queryable.ThenBy
fonte
Isso funciona apenas em situações em que você possui um campo numérico, mas pode colocar um sinal de menos na frente do nome do campo, da seguinte maneira:
No entanto, isso funciona um pouco diferente do que
OrderByDescending
quando você o está executando em umint?
oudouble?
oudecimal?
campos.O que acontecerá é que
OrderByDescending
os nulos estarão no final, contra esse método, os nulos estarão no início. O que é útil se você deseja embaralhar nulos sem dividir os dados em partes e emendá-los posteriormente.fonte
LastOrDefault()
geralmente não está funcionando, mas com oTolist()
que irá funcionar. Não há necessidade de usar oOrderByDescending
usoTolist()
como este.fonte