Метод GetHashCode в C# работает для ускорения сравнения двух объектов. 13 Если требуется узнать, одинаковы ли два объекта, то сначала сравниваются их хэш-коды. 1 Если они различаются, то значит и объекты различны. 1 Если же совпадают, то тогда начинается дорогостоящее «настоящее» сравнение через Equals. 1
Таким образом, GetHashCode должен совпадать для одинаковых объектов, по возможности отличаться для разных объектов и достаточно быстро вычисляться. 1
Например, если в классе одно целое поле int i, то в GetHashCode можно вернуть его значение: return i
. 1 Если в классе два целых поля int i и int j, то можно вернуть XOR: return i^j
. 1
Также метод GetHashCode позволяет возвратить числовое значение, которое будет соответствовать данному объекту или его хэш-код. 2