Я использовал словарь (TKey, TValue) для многих целей. Но я не сталкивался с каким-либо сценарием для реализации GetHashCode(), который, по моему мнению, объясняется тем, что мои ключи были из первичных типов, таких как int и string. Мне любопытно узнать сценарии (примеры реального мира), когда нужно использовать пользовательский объект для ключа и таким образом реализовать методы GetHashCode() Equals() и т.д.
И, использует ли пользовательский объект для ключа необходимость реализации этих функций?