Задать вопрос
AnnTHony
@AnnTHony
Интроверт

Как переопределить Object.GetHashCode()?

Как при использовании словаря переопределить метод GetHashCode()?

Читаю это:
Тип, используемый в качестве ключа словаря, должен переопределять метод GetHashCode() класса Object.


Ключ будет строкой. Нашел нужный алгоритм для формирования хэша, но не понимаю как его подставить.
  • Вопрос задан
  • 456 просмотров
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 3
GavriKos
@GavriKos
Если ключ у вас - строка, т.е. тип string - то ничего не надо переопределять. У string уже реализован GetHashCode.
Ответ написан
Комментировать
petermzg
@petermzg
Самый лучший программист
Переопределить в своем классе
public override int GetHashCode()
{
    return ...;
}
Ответ написан
lexxpavlov
@lexxpavlov
Программист, преподаватель
если у вас ключ является строкой, то возьмите хэш строки:
class Test
{
    public string Name;

    public override int GetHashCode()
    {
         return Name.GetHashCode();
    }
}


Но обычно нужно ещё и Equals переопределить.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы