Customer customerOne = new Customer("John", "Doe"); Customer customerTwo = new Customer("Super", "Man"); Customer customerThree = new Customer("Crazy", "Guy"); Customer customerFour = new Customer("Jane", "Doe"); Customer customerFive = new Customer("Bat", "Man"); List<Customer> customers = new List<Customer>(); customers.Add(customerOne); customers.Add(customerTwo); customers.Add(customerThree); customers.Add(customerFour); customers.Add(customerFive);
What LINQ query would return an enumerable for all customers with the same last name?
Results should include one instance of: John Doe, Jane Doe, Super Man, and Bat Man
To find the duplicate values only:var duplicates = list. GroupBy(x => x. Key). Where(g => g.
customers.GroupBy(c => c.LastName).Where(g => g.Skip(1).Any()).SelectMany(c => c)
or with LINQ syntax:
var q = from c in customers group c by c.LastName into g where g.Skip(1).Any() from c in g select c;
var result = from c in customers join c2 in customers on c.LastName equals c2.LastName where c != c2 select c;
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With