ho una lista con alcuni identificatori come questo:Ordinamento di un elenco da un altro ID Lista
List<long> docIds = new List<long>() { 6, 1, 4, 7, 2 };
Senza dimenticare che ho un altro elenco di <T>
elementi, che sono rappresentati dalle ids sopra descritti.
List<T> docs = GetDocsFromDb(...)
ho bisogno di mantenere lo stesso ordine in entrambe le collezioni, in modo che i prodotti in List<T>
devono trovarsi nella stessa posizione rispetto alla prima (a causa di cercare ragioni del motore di punteggio). E questo processo non può essere eseguito nella funzione GetDocsFromDb()
.
Se necessario, è possibile modificare la seconda lista in un'altra struttura (Dictionary<long, T>
per esempio), ma preferirei non cambiarla.
Esiste un modo semplice ed efficace per eseguire questa "ordinazione dipendente da alcuni ID" con LINQ?
si ha la certezza che ogni 'docId' si verifica esattamente una volta in' docs', quale proprietà terrà l'id 'o sarà richiesto un selettore 'Func'? –
Jodrell
Il primo elenco rappresenta una "lista principale"? Altre parole, la seconda lista sarà un sottoinsieme che rappresenta una porzione (o l'insieme) della prima lista? – code4life