首頁 > 後端開發 > C++ > 如何根據單獨清單中的 ID 對物件清單進行排序?

如何根據單獨清單中的 ID 對物件清單進行排序?

DDD
發布: 2025-01-19 12:16:09
原創
976 人瀏覽過

How to Sort a List of Objects Based on IDs from a Separate List?

根據另一個清單中的 ID 對物件清單進行排序

在某些情況下,您可能需要根據儲存在單獨清單中的 ID 對物件清單進行排序。考慮以下情況:

您有一個名為 docIdsList<long>,包含以下值:{ 6, 1, 4, 7, 2 }。此外,您還有一個名為 docsList<T>,儲存由 docIds 中的 ID 表示的物件。

您的目標是保持兩個清單中項目順序的一致性。這表示 List<T> 中的物件必須佔據與 List<long> 中其對應 ID 相同的位置,例如,docs 中 ID 為 1 的物件應位於索引 1。

為了在不修改 List<T> 的情況下實現此排序,您可以使用 LINQ,如下所示:

<code class="language-csharp">docs = docs.OrderBy(d => docIds.IndexOf(d.Id)).ToList();</code>
登入後複製

此 LINQ 表達式首先使用 IndexOf 來決定 docIds 中每個物件 ID 的索引。然後,它使用此索引作為排序鍵,有效地將 List<T> 中的物件與其在 List<long> 中的 ID 對齊。

以上是如何根據單獨清單中的 ID 對物件清單進行排序?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板