我在C#中确实有一个HashSet,看起来像下面的样子:
HashSet<List<int>> _hash = new HashSet<List<int>>();
现在,我在其中插入了一个值,如下所示:
_hash.add(new List<int> {1,7});
当我在上面的代码之后编写以下代码时:
_hash.contains(new List<int>{1,7});
我期望它返回true,因为刚刚添加了相同的值,但是它确实返回了false。这确实使我感到困惑。而且,如何确保当我具有List的哈希集时,在向其中添加任何新值之前,其中没有重复项。
我认为使用HashSet的全部原因是为了避免任何重复,但似乎这允许重复。有什么想法吗?
这是一种解决方案:
问题