Flatten a C# Dictionary of Lists with Linq Dictionary> var list = dictionary.Values // To get just the Lists .SelectMany(x => x) // Flatten .ToList(); // Listify Dictionary.Values.SelectMany(x => x).ToList() dict.SelectMany(pair => pair.Value.Select(str => str)); var flattened = from p in dictionary from s in p.Value select s; var flattened = dictionary.SelectMany(p => p.Value); dict.Values.Aggregate(new List(), (a, b) => a.Concat(b));