• Можно ли сравнивать через переопределенный GetHashCode() в C#?

    vabka
    @vabka Куратор тега C#
    Токсичный шарпист
    GetHashCode - это не про сравнение, а про генерацию хэша для объекта.
    Хэши могут пересекаться, тк количество хэшэй принципиально меньше количества уникальных объектов.
    По тому, если тебе нужно ответить на вопрос "равен ли объект А объекту Б", то обязательно нужно проверить на Equals.
    Чтобы при разных типах у тебя не было ложного совпадения - просто сравнивай ещё и тип в Equals (через GetType)

    Если тебе нужно сравнить объекты по принципу больше/меньше/равно, то тут к тебе на помощь приходит интерфейс IComparable.
    Ответ написан
    2 комментария