powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Как правильно описать методы GetHashCode и Equals
1 сообщений из 1, страница 1 из 1
Как правильно описать методы GetHashCode и Equals
    #36852685
borka1985
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем доброго дня. Подскажите, пишу некую библиотеку классов.
Есть базовый класс, скажем
TOBJECT
{
guid,
function GetHashCode(),
function Equals(obj TOBJECT)
}

Описание конструктора и других методов не стал приводить. Так вот, HashCode я получаю на основании guid. Guid формируется в конструкторе. Так же есть кэш этих объектов. Задача состоит в том, чтобы в конструкторе посмотреть, существует ли данный объект в кэше и соответственно вернуть именно этот объект из кэша.
Например, есть класс TUSER
{
name
}
В кэше содержится объект TUSER(Иван).
И я пытаюсь создать такой же объект с тем же параметром TUSER(Иван).
На каком основании проводить сравнение? По идее если объект1.Equals(объект2)==true, то и объект1.GetHasCode()==объект2.GetHasCode(), но в моем случае я у базового класса для определения HASHCODE использую тот самый Guid, т.е. объект1.GetHasCode()!=объект2.GetHasCode().

Я понимаю, что HashCode необходимо формировать на основании атрибутов класса, но если эти атрибуты пусты, то и Hashcode для двух пустых объектов будут равны. Разве это справедливо в данном случае?
...
Рейтинг: 0 / 0
1 сообщений из 1, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Как правильно описать методы GetHashCode и Equals
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]