首頁 >後端開發 >C++ >如何根據另一個清單中 ID 的順序對清單進行排序?

如何根據另一個清單中 ID 的順序對清單進行排序?

Mary-Kate Olsen
Mary-Kate Olsen原創
2025-01-19 12:01:09994瀏覽

How to Sort a List Based on the Order of IDs in Another List?

使用參考 ID 清單重新排序清單

此範例示範如何重新排列項目清單(例如文件)以符合單獨參考清單中的 ID 順序。 當您需要維護兩個相關資料集之間的一致性時,這是一項常見任務。 LINQ 提供了簡潔的解決方案。

關鍵是將OrderBy方法與索引查找結合使用。我們在引用 ID 清單中找到每個項目 ID 的索引,並使用該索引來確定排序順序。

程式碼如下:

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

此程式碼片段有效地對 docs 列表進行重新排序,以反映 docIds 列表指定的順序。 IndexOf 方法找出 d.Id 中每個 docIds 的位置,並且 OrderBy 使用這些索引進行排序。 最後的 .ToList() 將排序結果轉換回列表。 這確保了 docs 中的項目順序現在直接對應於 docIds 中的 ID 順序。

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

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