我试图确定HashSet
.NET 3.5(C#)中的两个对象是否是相等的集合,即包含相同的值.这似乎是人们显然想做的事情,但是所提供的功能似乎都没有给你这些信息.
我能想到这样做的方法是检查两组的计数是否相等,一组是另一组的子集(不合适).我认为唯一可能发生的方法是它们是否相同.示例代码:
HashSetset1 = 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()
的功能?
看看方法SetEquals.
my_hashset.SetEquals(other);