Я просто потратил несколько часов на отладку, прежде чем осознать, что вопреки .NET, в .NET Core, GetHashCode возвращает другое значение каждый раз, когда вы запускаете свой код. Я полностью понимаю обоснование этого. Опора на значения хэш-кода - очень плохая идея (например, их сериализация). Я даже помню, что внутренние сборки .NET в Microsoft (до Core) изменили бы поведение GetHashCode для каждой сборки, чтобы никто не становился слишком комфортным с ним.
Сказав все это, Im в настоящее время отлаживает сложный код, который сильно использует GetHashCode. Я знаю, что ошибка - это мое собственное дело и не имеет ничего общего с GetHashCode, но каждый раз, когда я запускаю его, он не работает в другом месте. Очень надоедливый. Есть ли способ заставить GetHashCode вести себя как в .NET(при отладке Im), не имея необходимости писать собственную хеш-функцию и заменять ее везде в моем коде?