c# - 哪些方法在内部调用 GetHashCode?

标签 c# clr gethashcode

我知道在重写 Equals 方法时重写 GetHashCode 的重要性。我假设 Equals 在内部调用 GetHashCode

可能在内部使用 GetHashCode 的其他方法有哪些?

最佳答案

Equals 不会在内部调用 GetHashCode
GetHashCode 被许多类用作提高性能的方法:如果两个实例的哈希码不同,则根据定义,这两个实例不相等,因此调用 等于可以跳过。
仅当哈希码相同时才需要调用Equals,因为多个实例可以具有相同的哈希码,即使它们不同也是如此。

像这样工作的类的具体例子:

关于c# - 哪些方法在内部调用 GetHashCode?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18355435/

相关文章:

c# - .Net HashSet 唯一性计算是否完全基于Hash Codes?

c# - string.GetHashCode() 在调试和发布中返回不同的值,如何避免这种情况?

c# - MVC RedirectToAction 在 JSON 后返回后不起作用

c# - 扩展方法在内部是如何实现的

c++ - 我如何在单击按钮的确切时刻获得小部件的值FLTK

.net - CLR:所有线程如何共享第 0 代?

C# 如何为违反 Equals 契约的类选择 Hashcode?

c# - 为什么仅某些操作需要 HttpGet?

C#:绘制自己的条形图

c# - 如何在 WinForms 中同步 NumericUpDown 和 TrackBar 控件的值?