gpt4 book ai didi

c# - HashSet 限制 - 如何进行?

转载 作者:行者123 更新时间:2023-11-30 14:11:13 24 4
gpt4 key购买 nike

我的程序创建了自定义对象,我想获得一个不同的列表。所以我想使用一个集合并逐个添加对象。该集合将防止重复。最后,我有了一组独特的对象。

我通常会使用 HashSet,因为我不需要排序集。只是,有这么多不同的潜在对象。大于 2^32。 GetHashCode 函数返回一个 int,因此它不能用作我的对象的唯一键。

因此我假设我不能使用 HashSet,必须使用较慢的 SortedSet 并让我的对象实现 IComparable/CompareTo。它是否正确?或者有没有办法让 HashSet 具有长哈希码?

最佳答案

GetHashCode确实返回一个 int,但如果哈希码的比较确定它们相同,则它会调用 Equals方法(你应该重写)。

所以,不,您不必切换。您可以继续使用旧的可爱 HashSet (只要你没有用完内存)。

关于c# - HashSet 限制 - 如何进行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20935439/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com