我刚刚注意到例如接口IEqualityComparer<T>
提供了public int GetHashCode(T obj)
.
我经常public int GetHashCode()
在另一个接口/类中看到变体。为什么它是用输入参数设计的?我知道在“带参数”的情况下,返回值不会基于调用者对象,而是基于方法的参数。在我看来,它需要的唯一方法是 GetHashCode 的空对象,是吗?
最后一个问题:调用者对象应该是什么(即 GetHashCode 方法的所有者)?
谢谢!
升级版。将最早存在的答案标记为答案。非常感谢!