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);
什么 LINQ 查询将为具有相同姓氏的所有客户返回一个可枚举值?
结果应包括以下实例之一:John Doe、Jane Doe、Super Man 和 Bat Man
重新表述:“您希望按姓氏对客户列表进行分组,过滤掉具有多个元素的组,然后选择每个组的每个实例”。你几乎可以直接将这句话翻译成 C#:
customers
.GroupBy(customer => customer.LastName)
.Where(sameLastName => sameLastName.Skip(1).Any())
.SelectMany(customer => customer)
或者使用 LINQ 语法:
var q = from customer in customers
group customer by customer.LastName into sameLastName
where sameLastName.Skip(1).Any()
from customer in sameLastName
select customer;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)