Son*_*nül 4 .net c# equals object hashcode
让我们假设我有两个叫做K和的对象M
if(K.Equals(M))
{
}
如果这是真的,K并且M 总是一样的HashCode?
或者这取决于编程语言?
合同GetHashCode()要求它,但由于任何人都可以自己实施,因此无法保证.
许多类(尤其是哈希表)需要它才能正常运行.
如果要实现类,则应始终确保两个相等的对象具有相同的哈希码.
如果您正在实现一个实用程序方法/类,您可以假设两个相等的对象具有相同的哈希码(如果不是,则它是另一个类,而不是您的,这是错误的).
如果您正在实现具有安全隐患的内容,则无法承担它.