Проверяет знание контрактов равенства объектов и работы хеш-таблиц.
Короткий ответ
Equals определяет, считаются ли два объекта равными по содержанию, а GetHashCode возвращает целочисленный хеш-код, используемый для распределения в бакеты Dictionary. При вставке Dictionary вычисляет hash = key.GetHashCode(), находит бакет по hash % buckets.Length, а затем в цепочке вызывает Equals для обнаружения точного совпадения ключа. Некорректная реализация может привести к потере или дублированию элементов.
Длинный ответ
Зарегистрироваться
Развернутый ответ доступен только зарегистрированным пользователям.