在許多程式設計場景中,您可能會發現自己有兩個清單:一個包含標識符,另一個包含關聯的項目與這些標識符。當您需要在兩個清單中保持相同的項目順序時,就會出現挑戰。本文提供了一個使用 LINQ 來解決此問題的簡單而有效的解決方案。
假設您有一個識別符清單:
List<long> docIds = new List<long>() { 6, 1, 4, 7, 2 };
您還有一個由ID 表示的項目清單docIds:
List<T> docs = GetDocsFromDb(...);
您的目標是根據中對應的識別符會依升序重新排列文檔清單文檔ID。兩個列表中的項目順序應該相同。
以下LINQ 表達式可以解決此問題:
docs = docs.OrderBy(d => docIds.IndexOf(d.Id)).ToList();
說明:
此方法根據 docIds 中的識別碼有效地對文件清單進行重新排序,確保兩個清單的順序相同。
以上是如何使用 LINQ 根據另一個清單中標識符的順序對清單進行排序?的詳細內容。更多資訊請關注PHP中文網其他相關文章!