【发布时间】:2013-11-28 22:12:40
【问题描述】:
我有一个想要过滤重复项目的列表。在问这个问题之前,我在 StackOverflow 上进行了搜索,找到了两个解决方案;使用.Distinct() 和HashSet,但是这些方法都不适合我。我试图过滤的对象实现了.Equals 方法,但它仍然不起作用。
我通过创建 500 个完全相同的对象并将它们放入列表中来测试这一点。我预计会留下 1 个,但所有 500 个仍然存在。我的对象是否需要实现其他方法才能使其工作?
谢谢。
【问题讨论】:
-
你能分享一些代码来显示你的 equals 方法以及你是如何使用 Distinct 的
-
关于 Tim Schmelter 的回答,您能否告诉我们该对象是否也覆盖了 GetHashCode?如果没有,您是否可以访问对象类的源代码?
-
它没有覆盖它,但现在它覆盖了它并且它可以工作。谢谢。