gpt4 book ai didi

c# - 我如何控制对象如何被哈希集哈希

转载 作者:太空宇宙 更新时间:2023-11-03 18:01:17 24 4
gpt4 key购买 nike

我正在使用 HashSet<T>存储对象的集合。这些对象已具有唯一 ID System.Guid , 所以我宁愿 HashSet<>只需使用现有的 ID,而不是试图弄清楚如何散列对象。如何覆盖内置散列并强制我的程序使用内置 ID 值作为散列值?

还说我知道Guid我的一个对象 HashSet<> , 有没有办法从 HashSet<T> 中获取对象基于此 Guid独自的?或者我应该改用字典。

最佳答案

A HashSet<>不基于键/值对,并且不提供“按键”访问 - 它只是一组唯一值,使用散列非常快速地检查包含。

要使用键/值对(稍后通过 Guid 取出),最简单的选择是 Dictionary<Guid,SomeType> . Guid 上的现有哈希码应该没问题(虽然如果你需要(你不在这里)你可以提供一个 IEqualityComparer<T> 用于散列。

关于c# - 我如何控制对象如何被哈希集哈希,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/967027/

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