当前位置:  开发笔记 > 编程语言 > 正文

哈希码是否存储在SyncBlockIndex / SyncBlock中

如何解决《哈希码是否存储在SyncBlockIndex/SyncBlock中》经验,为你挑选了1个好方法。

.net中的每个对象都有标题(SyncBlockIndexMethodTablePointer),如果没有链接到该对象的SyncBlock GetHashCode()SyncBlockIndex则在您调用该结果时可以将其保存在其中,如果有,则可以将其保存在SyncBlock中。

当我们不重写GetHashCode方法时,哈希码是对象存在期间的保存,但是如果我们返回动态哈希码(取决于对象的状态),哈希码将如何存储?

我知道哈希码在对象存在期间应该是相同的,提出问题的目的是了解哈希码如何存储在SyncBlockIndex或SyncBlock中。



1> D Stanley..:

如果我们返回动态哈希码(取决于对象的状态),哈希码将如何存储?

如果哈希码是通过覆盖来动态计算的,GetHashCode则不会存储在任何地方...

SyncBlockIndex作为对象的“默认”哈希码的用法是实现细节,并且框架之外的任何内容均不应依赖于此。

推荐阅读
地之南_816
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有