Existe uma maneira de achatar um .Net Ilookup em uma lista ?
Pergunta
Existe uma maneira rápida de obter um achatado List<TElement>
de um ILookup<TKey, TElement>
que foi criado a partir do IEnumerable<TElement>
extensão?
Atualizado com exemplo
List<int> list = new List<int>();
var lookup = list.ToLookup(key => key);
list = lookup.?? // How to convert the lookup back to the list
Solução
lookup.SelectMany( x => x ).ToList()
A transformação para ILookup
E novamente provavelmente mudará a ordem, no entanto.
Outras dicas
Não tenho certeza se é isso que você procura. Por Dictionary<>
para List<>
List<TElement> list iLookUp.Values.ToList<TElement>();
a partir de List<>
para Dictionary<>
var dict = list.Cast<TElement>().ToDictionary(t => t.Id, t => t.Description);
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow