using System;
using System.Collections.Generic;
using System.Linq;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
var allProducts = new List<Product>
{
new Product() {Name = "Cornflakes", Price = 100},
new Product() {Name = "Cornflakes", Price = 200},
new Product() {Name = "Rice Krispies", Price = 300},
new Product() {Name = "Cornflakes", Price = 400}
};
var products = allProducts.Where(w => (!allProducts.Any(l=>l.Name.Equals(w.Name) && l != w)));
foreach (Product product in products)
{
Console.WriteLine("Name: {0}, Price: {1}", product.Name, product.Price);
}
}
public class Product
{
public string Name { get; set; }
public decimal Price { get; set; }
}
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsKdXNpbmcgU3lzdGVtLkxpbnE7CgpuYW1lc3BhY2UgQ29uc29sZUFwcGxpY2F0aW9uMQp7CiAgICBjbGFzcyBQcm9ncmFtCiAgICB7CiAgICAgICAgc3RhdGljIHZvaWQgTWFpbihzdHJpbmdbXSBhcmdzKQogICAgICAgIHsKICAgICAgICAgICAgdmFyIGFsbFByb2R1Y3RzID0gbmV3IExpc3Q8UHJvZHVjdD4KICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBuZXcgUHJvZHVjdCgpIHtOYW1lID0gIkNvcm5mbGFrZXMiLCBQcmljZSA9IDEwMH0sCiAgICAgICAgICAgICAgICAgICAgbmV3IFByb2R1Y3QoKSB7TmFtZSA9ICJDb3JuZmxha2VzIiwgUHJpY2UgPSAyMDB9LAogICAgICAgICAgICAgICAgICAgIG5ldyBQcm9kdWN0KCkge05hbWUgPSAiUmljZSBLcmlzcGllcyIsIFByaWNlID0gMzAwfSwKICAgICAgICAgICAgICAgICAgICBuZXcgUHJvZHVjdCgpIHtOYW1lID0gIkNvcm5mbGFrZXMiLCBQcmljZSA9IDQwMH0KICAgICAgICAgICAgICAgIH07CgogICAgICAgICAgICB2YXIgcHJvZHVjdHMgPSBhbGxQcm9kdWN0cy5XaGVyZSh3ID0+ICghYWxsUHJvZHVjdHMuQW55KGw9PmwuTmFtZS5FcXVhbHMody5OYW1lKSAmJiBsICE9IHcpKSk7CgogICAgICAgICAgICBmb3JlYWNoIChQcm9kdWN0IHByb2R1Y3QgaW4gcHJvZHVjdHMpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIENvbnNvbGUuV3JpdGVMaW5lKCJOYW1lOiB7MH0sIFByaWNlOiB7MX0iLCBwcm9kdWN0Lk5hbWUsIHByb2R1Y3QuUHJpY2UpOwogICAgICAgICAgICB9CgogICAgICAgIH0KCiAgICAgICAgcHVibGljIGNsYXNzIFByb2R1Y3QKICAgICAgICB7CiAgICAgICAgIAogICAgICAgICAgICBwdWJsaWMgc3RyaW5nIE5hbWUgeyBnZXQ7IHNldDsgfQogICAgICAgICAgICBwdWJsaWMgZGVjaW1hbCBQcmljZSB7IGdldDsgc2V0OyB9CiAgICAgICAgfQogICAgfQp9