using System; using System.Collections.Generic; using System.Linq; class Product { public string Name { get; set; } public string Price { get; set; } } public class Test { public static void Main() { List sourceProductList = new List { new Product { Name = "Cornflakes", Price = "1.99M"}, new Product { Name = "Cornflakes", Price = "1.89M"}, new Product { Name = "Rice Krispies", Price = "2.09M"}, new Product { Name = "Cornflakes", Price = "2.09M"}, }; var result = sourceProductList .GroupBy(x => x.Name) .Where(g => g.Select(x => x.Price).Distinct().Count() == 1) .Select(g => g.First()); foreach (Product product in result) { Console.WriteLine("Name: {0}, Price: {1}", product.Name, product.Price); } } }