Есть ли способ сгладить .Net ILookup <TKey, TElement> в список <TElement>?

Есть ли быстрый способ получить сплющенный List<TElement> из ILookup<TKey, TElement>, который был создан из расширения IEnumerable<TElement>?


Обновлен с помощью примера

List<int> list = new List<int>();
var lookup = list.ToLookup(key => key);
list = lookup.?? // How to convert the lookup back to the list

Ответ 1

lookup.SelectMany( x => x ).ToList()

Преобразование в ILookup и обратно снова, скорее всего, изменит порядок.

Ответ 2

Не уверен, что это то, что вам нужно. Для Dictionary<> - List<>

List<TElement> list iLookUp.Values.ToList<TElement>();

от List<> до Dictionary<>

var dict = list.Cast<TElement>().ToDictionary(t => t.Id, t => t.Description);