我想使用 Linq 从集合中选择一组不同的元素,而不创建 IEqualityComparer 类。我不知道如何创建一个 lambda 表达式,该表达式被评估为 IEqualityComparer 以与Distinct()
. 因此,我使用分组来选择具有不同名称的客户:
var distinctCustomers = new List<Customer>();
var groups= customers.GroupBy (cust => cust.Name);
foreach (var g in groups)
{
foreach (var customer in g)
{
distinctCustomers.Add (customer);
break;
}
}
但这似乎很恶心。
我要么想使用Distinct
lambda 表达式
var distinctCustomers = customers.Distinct ( <lambda here ?> )
或者比上面列出的更干净的 Linq 表达式。
有任何想法吗?