首頁 >後端開發 >C++ >如何使用LINQ按對象屬性對列表進行排序?

如何使用LINQ按對象屬性對列表進行排序?

Linda Hamilton
Linda Hamilton原創
2025-02-01 08:11:09639瀏覽

How to Sort a List by Object Property Using LINQ?

使用LINQ對List對象屬性排序

問題:

假設有一個名為Order的類,其屬性包括OrderId、OrderDate、Quantity和Total。現在有一個包含這些Order對象的列表,任務是根據特定屬性(例如OrderDate或OrderId)對該列表進行排序。

使用LINQ的解決方案:

使用LINQ對List對象的屬性進行排序最直接的方法如下所示:

<code class="language-csharp">List<Order> SortedList = objListOrder.OrderBy(o => o.OrderDate).ToList();</code>

在這個例子中,objListOrder是Order對象的列表。 OrderBy方法用於按OrderDate屬性升序排序列表。結果賦值給SortedList變量。

解釋:

OrderBy方法接受一個lambda表達式作為參數,該表達式指定列表應按哪個屬性排序。在本例中,lambda表達式o => o.OrderDate用於訪問每個Order對象的OrderDate屬性。

OrderBy方法的結果是一個已排序的IEnumerable序列。為了將此序列轉換回列表,使用了ToList方法。 SortedList現在包含已排序的Order對象列表。

此方法可以輕鬆地修改為按Order類的任何其他屬性進行排序,只需簡單地更改lambda表達式中的屬性名稱,例如o => o.OrderId。

以上是如何使用LINQ按對象屬性對列表進行排序?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn