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?
docIdocorre exatamente uma vezdocs, qual propriedade manterá oIdseletor ou seráFunc<T, long>necessário?