Ho un elenco con alcuni identificatori come questo:
List<long> docIds = new List<long>() { 6, 1, 4, 7, 2 };
Inoltre, ho un altro elenco di <T>
elementi, che sono rappresentati dagli ID sopra descritti.
List<T> docs = GetDocsFromDb(...)
Devo mantenere lo stesso ordine in entrambe le raccolte, in modo che gli articoli in List<T>
siano nella stessa posizione rispetto al primo (per motivi di punteggio del motore di ricerca). E questo processo non può essere eseguito nella GetDocsFromDb()
funzione.
Se necessario, è possibile modificare il secondo elenco in un'altra struttura ( Dictionary<long, T>
ad esempio), ma preferirei non modificarlo.
Esiste un modo semplice ed efficace per eseguire questa "ordinazione in base ad alcuni ID" con LINQ?
docId
verifica esattamente una volta dentrodocs
, quale proprietà conterràId
o sarà richiesto un selettoreFunc<T, long>
?