gpt4 book ai didi

Java IdentityHashMap 的 C# 等价物

转载 作者:搜寻专家 更新时间:2023-10-30 21:22:39 24 4
gpt4 key购买 nike

据我所知,C# 中没有直接的等效项。我目前的想法是使用带有自定义 IEqualityComparer 的字典,检查引用是否相等。

然而,这似乎失去了散列所获得的优势。有没有办法从每个不同的对象中获取单独的哈希码?或者这是不可能的,我应该使用其他方法吗?

最佳答案

您可以使用 RuntimeHelpers.GetHashCode(object)它以非虚拟方式调用 object.GetHashCode() - 这相当于 Java 中的 System.identityHashcode。我认为这就是你所追求的。因此,您的 IEqualityComparer 将仅使用它来进行散列,并使用 object.ReferenceEquals 来实现相等性。

关于Java IdentityHashMap 的 C# 等价物,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/838965/

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