加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-15 17:41:54 所属栏目:百科 来源:网络整理
导读:List1包含项目{A,B},列表2包含项目{A,B,C}. 当我使用Except Linq扩展名时,我需要返回{C}相反,我会返回{A,如果我在我的表达式中翻转列表,结果是{A,C}. 我是否误解了除此之外?有没有另外一个扩展我看不到使用? 目前为止,我已经看过并尝试了不少关于这件事的
List1包含项目{A,B},列表2包含项目{A,B,C}.

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

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

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

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

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

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

解决方法

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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读