using System.Collections.Generic;
public static void Main()
List<GroupResult<string>> intput = new List<GroupResult<string>>(){new GroupResult<string>()
{Key = "1", Items = new List<string>(){"A", "B"}}, new GroupResult<string>()
{Key = "1", Items = new List<string>(){"C", "D"}}, new GroupResult<string>()
{Key = "2", Items = new List<string>(){"E", "F"}}
List<GroupResult<string>> result = intput.GroupBy(x => x.Key).Select(x => new GroupResult<string>(){Key = x.Key, Items = x.SelectMany(y => y.Items)}).ToList();
foreach (GroupResult<string> item in result)
Console.WriteLine("Key:{0}, Values:{1}", item.Key, string.Join(",", item.Items));
public class GroupResult<T>
public string Key{get;set;}
public IEnumerable<T> Items{get;set;}