c# – 使用Linq除非我想到没有工作

前端之家收集整理的这篇文章主要介绍了c# – 使用Linq除非我想到没有工作前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
List1包含项目{A,B},列表2包含项目{A,B,C}.

当我使用Except Linq扩展名时,我需要返回{C}相反,我会返回{A,如果我在我的表达式中翻转列表,结果是{A,C}.

我是否误解了除此之外?有没有另外一个扩展我看不到使用?

目前为止,我已经看过并尝试了不少关于这件事的不同职位.

var except = List1.Except(List2); //这是我到目前为止的那一行

编辑:是的,我正在比较简单的对象.我从来没有使用IEqualityComparer,有趣的是要了解.

感谢所有的帮助.问题没有实现比较者.链接博客文章和下面的示例在哪里有帮助.

解决方法

如果您在列表中存储引用类型,则必须确保有一种方法来比较对象的相等性.否则,如果它们引用相同的地址,将通过比较进行检查.

您可以实现IEqualityComparer< T>并将其作为参数发送到Except()功能.这是一个blog post你可能会找到帮助.

猜你在找的C#相关文章