Antworten:
Wie Brannon sagt, ist es OrderByDescending
und ThenByDescending
:
var query = from person in people
orderby person.Name descending, person.Age descending
select person.Name;
ist äquivalent zu:
var query = people.OrderByDescending(person => person.Name)
.ThenByDescending(person => person.Age)
.Select(person => person.Name);
Versuche dies:
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);
}
Versuchen Sie es anders:
var qry = Employees
.OrderByDescending (s => s.EmpFName)
.ThenBy (s => s.Address)
.Select (s => s.EmpCode);
Dies funktioniert nur in Situationen, in denen Sie ein numerisches Feld haben. Sie können jedoch wie folgt ein Minuszeichen vor den Feldnamen setzen:
reportingNameGroups = reportingNameGroups.OrderBy(x=> - x.GroupNodeId);
Dies funktioniert jedoch etwas anders als OrderByDescending
wenn Sie es auf einem int?
oder double?
oder decimal?
Feldern ausführen.
Was passieren wird, ist, dass OrderByDescending
die Nullen am Ende stehen, während bei dieser Methode die Nullen am Anfang stehen. Dies ist nützlich, wenn Sie Nullen mischen möchten, ohne Daten in Teile aufzuteilen und später zu spleißen.