gpt4 book ai didi

.net - 根据.net中的对象标识生成哈希码

转载 作者:行者123 更新时间:2023-12-02 08:57:49 25 4
gpt4 key购买 nike

如何根据对象的身份生成对象的哈希码。

我的意思是:

  • 如果 object.ReferenceEquals(a, b) == true ,然后ab将获得相同的哈希码。
  • 如果 object.ReferenceEquals(a, b) == false ,然后ab即使它们在成员上相等,也应该有很大的机会获得不同的哈希码。

我拥有的是:

class SomeClassThatMakesSenseToCompareByReferenceAndByValue {
override Equals(object o) {
return MemberwiseEquals(o);
}

override GetHashCode() {
return MemberwiseGetHashCode();
}
}

class SomeClassThatNeedsReferenceComparison {
SomeClassThatMakesSenseToCompareByReferenceAndByValue obj;

override Equals(object o) {
return o is SomeClassThatNeedsReferenceComparison && object.ReferenceEquals(this.obj, (o as SomeClassThatNeedsReferenceComparison).obj);
}

override GetHashCode() {
return ?????
}
}

最佳答案

您可能正在寻找RuntimeHelpers.GetHashCode

关于.net - 根据.net中的对象标识生成哈希码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3546915/

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