using System; using System.Linq; using System.Collections.Generic; class Item{ public string ItemName { get; set; } public string GroupName { get; set; } } public class Test { public static void Main() { List webservice = new List() { new Item(){ItemName="Item1",GroupName="A"}, new Item(){ItemName="Item2",GroupName="B"}, new Item(){ItemName="Item3",GroupName="B"}, new Item(){ItemName="Item4",GroupName="A"}, new Item(){ItemName="Item5",GroupName="A"}, }; var groupItems = webservice.Where(i => i.GroupName != null) .GroupBy(i => i.GroupName) .Select(grp => new { Group=grp.Key,Items=grp.ToList()}); foreach (var groupItem in groupItems) Console.WriteLine("Groupname: {0} Items: {1}" , groupItem.Group , string.Join(",", groupItem.Items.Select(i => i.ItemName).ToArray())); } }