Liste auf mehrere Eigenschaften sortieren möchte ich Liste sortieren auf mehrere Eigenschaften auf. Ich weiß, ich kann verwendenWie in einer Zeile Code in Linq
List<Order> l = source.OrderBy(c=> c.Property1).ThenBy(c=> c.Property2).ToList();
Allerdings ist es nur für aufsteigend. Wenn ich für absteigend sortieren Liste will, muss ich einen anderen Code
List<Order> l = source.OrderByDescending(c=> c.Property1).ThenByDescending(c=> c.Property2).ToList();
Und wenn ich property1 für aufsteigend und property2 für absteigend sortiert werden soll, habe ich
List<Order> l = source.OrderBy(c=> c.Property1).ThenByDescending(c=> c.Property2).ToList();
Für Art auf 2 Objekte zu verwenden, Ich brauche 4 verschiedene Codes und bei 3 Eigenschaften brauche ich 9 verschiedene Codes. Es ist nicht gut. Ich möchte wissen, ob es eine Möglichkeit gibt, die Sortierung in einem Code zu erledigen. Vielen Dank.
das ist der beste Weg, es zu tun ... –
Meinst du, dass die Richtung der Sortierung parametrisiert werden soll, so dass der gleiche Code in Abhängigkeit von den Parametern in jeder Kombination von aufsteigender und absteigender Sortierung? –
Ich denke, Linq bietet eine Möglichkeit, sollte Art wie zu tun: OrderBy (c => c.Property1, sortOrder) .ThenBy (c => c.Property2, sortOrder). Es ist einfach und geradlinig. Gibt es in Linq so etwas? – user585440