Какой контракт между методами Equals и GetHashCode в C# и что будет, если GetHashCode всегда возвращает одну и ту же константу

C#EqualsGetHashCodeконтрактхэширование