Wiem, że w normalnej gramatyce Linq orderby xxx descending
jest to bardzo łatwe, ale jak mam to zrobić w wyrażeniu Lambda?
250
Jak mówi Brannon, jest OrderByDescending
i ThenByDescending
:
var query = from person in people
orderby person.Name descending, person.Age descending
select person.Name;
jest równa:
var query = people.OrderByDescending(person => person.Name)
.ThenByDescending(person => person.Age)
.Select(person => person.Name);
Użyć
System.Linq.Enumerable.OrderByDescending()
?Na przykład:
źródło
Spróbuj tego:
źródło
Spróbuj tego w inny sposób:
Queryable.ThenBy
źródło
Działa to tylko w sytuacjach, w których masz pole numeryczne, ale możesz umieścić znak minus przed nazwą pola w następujący sposób:
Jednak działa to trochę inaczej, niż
OrderByDescending
kiedy nie używasz go naint?
lubdouble?
lubdecimal?
pól.To, co się stanie, będzie miało
OrderByDescending
wartość zerową na końcu, a przy tej metodzie wartości zerowe będą na początku. Jest to przydatne, jeśli chcesz przetasować wartości null bez dzielenia danych na części i łączenia ich później.źródło
LastOrDefault()
zwykle nie działa, ale zTolist()
tym będzie działać. Nie ma potrzebyOrderByDescending
korzystania zTolist()
takiego użycia .źródło