.netilookup

Is there a way to flatten a .Net ILookup<TKey, TElement> into a List<TElement>?


Is there a quick way to get a flattened List<TElement> from an ILookup<TKey, TElement> that was created from the IEnumerable<TElement> extension?


Updated with example

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

Solution

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

    The transformation to ILookup and back again will have most likely changed the order, however.