effizient sortieren Listen von Objekten in C# mit linq
Bei der Behandlung mit Listen benutzerdefinierter Objekte in C#entsteht häufig diese Listen basierend auf bestimmten Objekteigenschaften. Stellen Sie sich beispielsweise eine Liste von Order
Objekten vor, die jeweils Eigenschaften wie OrderId
, OrderDate
, Quantity
und Total
besitzen. Dieser Artikel zeigt, wie solche Listen effizient sortiert werden, indem Sie Linq.
LINQ zur Sortierung
nutzen lINQ (Language Integrated Query) bietet eine saubere und leistungsstarke Möglichkeit, Daten zu befragen und zu manipulieren, einschließlich Sortierlisten. Lassen Sie uns untersuchen, wie wir unsere Liste von Order
Objekten sortieren.
Um die Liste in aufsteigender Reihenfolge nach OrderDate
zu sortieren, verwenden Sie die Methode OrderBy()
:
List<Order> sortedOrders = objListOrder.OrderBy(o => o.OrderDate).ToList();
Dies erstellt eine neue Liste, sortedOrders
, die die ursprünglichen Order
-Objekte enthält, die nach ihrer OrderDate
Eigenschaft sortiert sind. Der Lambda -Ausdruck o => o.OrderDate
Gibt die Sortierkriterien an.
Verwenden Sie für absteigender Bestellsortierung nach OrderId
die Methode OrderByDescending()
:
List<Order> sortedOrders = objListOrder.OrderByDescending(o => o.OrderId).ToList();
Die Flexibilität von Linq erstreckt sich auf mehrstufige Sortierung. Zum Beispiel in erster Linie nach OrderDate
und dann nach OrderId
(beide aufsteigend) zu sortieren, verwenden Sie ThenBy()
:
List<Order> sortedOrders = objListOrder.OrderBy(o => o.OrderDate).ThenBy(o => o.OrderId).ToList();
Dieser Ansatz bietet eine prägnante und effiziente Methode für komplexe Sortierszenarien und macht es zu einer bevorzugten Technik für die Verwaltung von Objektlisten in C#.
Das obige ist der detaillierte Inhalt vonWie kann ich eine Liste nach einer Objekteigenschaft in C# mit LINQ sortieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!