gpt4 book ai didi

c# - 使用 List 参数构造 HashSet 时是否允许重复?

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

我的程序中有两个列表 - 一个主列表和另一个不断更新的临时列表。每隔一段时间,临时列表就会刷新到主列表中。

主列表是 HashSet(为了不重复),临时列表是 List(为了索引能力)。我通过调用

将后者冲入前者
HashSet<T>.UnionWith(List<T>)

在我的测试中,我发现重复项会进入列表,但我认为这在 HashSet 中是不可能的。有人可以确认/更正吗?我一直无法在 MSDN 中找到它。

最佳答案

如果您的类型覆盖 GetHashCode()Equals(),则不可能 correctly .我的猜测是您的类型没有正确完成此操作。 (或者您的散列集是使用自定义相等比较器创建的,该比较器无法满足您的要求。)

如果您认为不是这种情况,请发布代码:)

但是,是的,它确实在正常使用时防止重复。

关于c# - 使用 List<T> 参数构造 HashSet<T> 时是否允许重复?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18019036/

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