当前位置:  开发笔记 > 编程语言 > 正文

如何确定两个HashSets是否相等(按值,而不是通过引用)?

如何解决《如何确定两个HashSets是否相等(按值,而不是通过引用)?》经验,为你挑选了1个好方法。

我试图确定HashSet.NET 3.5(C#)中的两个对象是否是相等的集合,包含相同的值.这似乎是人们显然想做的事情,但是所提供的功能似乎都没有给你这些信息.

我能想到这样做的方法是检查两组的计数是否相等,一组是另一组的子集(不合适).我认为唯一可能发生的方法是它们是否相同.示例代码:

HashSet set1 = new HashSet();
set1.Add(1);
set1.Add(2);
set1.Add(3);

HashSet set2 = new HashSet();
set2.Add(1);
set2.Add(2);
set2.Add(3);

if(set1.Count == set2.Count && set1.IsSubsetOf(set2))
{
    // do something
}

这会一直有效吗?有没有更好的办法?为什么不HashSet具有 public bool IsEqualSetWith()的功能?



1> Michael Burr..:

看看方法SetEquals.

my_hashset.SetEquals(other);


在某个时刻发生在每个人身上.我简直无法相信我在.NET问题上击败了Jon Skeet和Marc Gravell.我猜他们*不得不睡一段时间.
推荐阅读
oDavid_仔o_880
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有