ฉันมีรายการที่มีตัวระบุบางอย่างเช่นนี้:
List<long> docIds = new List<long>() { 6, 1, 4, 7, 2 };
Morover ฉันมีรายการอีกรายการหนึ่ง<T>
ซึ่งมีรหัสตามที่อธิบายไว้ข้างต้น
List<T> docs = GetDocsFromDb(...)
ฉันต้องรักษาลำดับที่เหมือนกันในทั้งสองคอลเล็กชันเพื่อให้รายการในList<T>
ต้องอยู่ในตำแหน่งเดียวกันมากกว่าอันดับแรก (เนื่องจากเหตุผลในการให้คะแนนของเครื่องมือค้นหา) และกระบวนการนี้ไม่สามารถทำได้ในGetDocsFromDb()
ฟังก์ชั่น
หากจำเป็นก็เป็นไปได้ที่จะเปลี่ยนรายการที่สองเป็นโครงสร้างอื่น ๆ ( Dictionary<long, T>
ตัวอย่าง) แต่ฉันไม่ต้องการเปลี่ยนมัน
มีวิธีที่ง่ายและมีประสิทธิภาพในการทำ "ordenation ขึ้นอยู่กับบาง ID" กับ LINQ หรือไม่?
docId
เกิดขึ้นหนึ่งครั้งdocs
คุณสมบัติใดที่จะถือId
หรือจะเป็นตัวเลือกที่Func<T, long>
จำเป็น?