Eu tenho uma lista com alguns identificadores como este:
List<long> docIds = new List<long>() { 6, 1, 4, 7, 2 };
Além disso, tenho outra lista de <T>
itens, representados pelos IDs descritos acima.
List<T> docs = GetDocsFromDb(...)
Preciso manter a mesma ordem nas duas coleções, para que os itens List<T>
estejam na mesma posição que na primeira (devido a razões de pontuação do mecanismo de pesquisa). E esse processo não pode ser feito na GetDocsFromDb()
função.
Se necessário, é possível alterar a segunda lista para outra estrutura ( Dictionary<long, T>
por exemplo), mas eu prefiro não alterá-la.
Existe alguma maneira simples e eficiente de fazer essa "ordenação dependendo de alguns IDs" com o LINQ?
docId
ocorre exatamente uma vezdocs
, qual propriedade manterá oId
seletor ou seráFunc<T, long>
necessário?