我知道我可以调用 linq 的 except 并指定一个自定义的 IEqualityComparer,但是为此为每个数据类型实现一个新的 Comparer 类似乎有点矫枉过正.我可以使用 lambda 表达式来提供相等函数吗,就像我使用 Where 或其他 LINQ 函数一样?
I know I can call linq's Except and specify a custom IEqualityComparer, but implementing a new Comparer class for each data type seems like an overkill for this purpose. Can I use a lambda expression to provide the equality function, like when I use Where or other LINQ functions?
如果我不能,还有其他选择吗?
If I can't, is there an alternative?
推荐答案我不认为你可以直接使用基本的 LINQ 接口,但我见过人们使用扩展方法实现 LambdaComparer 类,这将帮助你做到这一点.
I don't think you can directly with the basic LINQ interfaces, but I've seen people implement a LambdaComparer class with extension methods which will help you do it.
这是一个例子
更多推荐
我可以将 Linq 的 except() 与 lambda 表达式比较器一起使用吗?
发布评论