public void Linq8() { ProductComparer comparer = new ProductComparer(); var products = dataSource.Products.GroupBy(p => p.UnitPrice, comparer); foreach (var product in products) { if (comparer.DeterminePriceCategory(product.Key) == ProductPriceCategories.LowPrice) { Console.WriteLine("Дешевые товары"); } if (comparer.DeterminePriceCategory(product.Key) == ProductPriceCategories.AveragePrice) { Console.WriteLine("Средние товары"); } if (comparer.DeterminePriceCategory(product.Key) == ProductPriceCategories.HightPrice) { Console.WriteLine("Дорогие товары"); } foreach (var i in product) { Console.WriteLine(i.UnitPrice + " " + i.ProductName); } } }