Odpowiedzi:
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);
Spróbuj tego:
List<int> list = new List<int>();
list.Add(1);
list.Add(5);
list.Add(4);
list.Add(3);
list.Add(2);
foreach (var item in list.OrderByDescending(x => x))
{
Console.WriteLine(item);
}
Spróbuj tego w inny sposób:
var qry = Employees
.OrderByDescending (s => s.EmpFName)
.ThenBy (s => s.Address)
.Select (s => s.EmpCode);
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:
reportingNameGroups = reportingNameGroups.OrderBy(x=> - x.GroupNodeId);
Jednak działa to trochę inaczej, niż OrderByDescending
kiedy nie używasz go na int?
lub double?
lub decimal?
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.