【问题标题】:HashSet equality c#HashSet 相等 c#
【发布时间】:2010-08-31 20:27:07
【问题描述】:

我有一个带有自己的 EqualityComparer 的 HashSet,但我想知道在检查每个元素之前是否使用了两个集合的简单计数?

我以为我可以在 Reflector 中自己回答这个问题,但我在其中找不到任何对 Equals 的覆盖。

干杯,
浆果

编辑 ==========

正如 Hans 所说,它是我感兴趣的两个集合的比较,作为在具有 HashSet 作为属性的类中覆盖 Equals 的一部分?

【问题讨论】:

  • 你能发布你的代码吗?这个问题听起来好像您正在尝试将两个或多个 HashSet 实例相互比较,而不是使用 IEqualityComparer<> 来评估给定 HashSet 已经包含的内容。
  • @Anthony。我正在尝试比较我的帖子编辑中提到的两组。我假设最好的方法是检查计数,然后检查元素,尽管元素检查可能很昂贵。干杯

标签: c# equality reflector hashset


【解决方案1】:

你把它弄混了。实现您自己的 IEqualityComparer 对于比较您放入 HashSet 中的 元素 很有用。 Count 属性只有在您想比较 sets 时才有用。两种截然不同的东西。 Equals() 没有默认实现。如果可能,HashSet.SetEquals() 方法确实首先检查 Count 属性。

【讨论】:

  • 完美,这就是我想要的。干杯
猜你喜欢
  • 2013-03-21
  • 2014-08-29
  • 2015-01-18
  • 2018-10-15
  • 2016-05-23
  • 1970-01-01
  • 1970-01-01
  • 2012-02-15
  • 1970-01-01
相关资源
最近更新 更多