Size: a a a

2020 October 19

M

Mr.Fantomz in ТП
Но тут функция хеш-кодов от части теряется
источник

M

Mr.Fantomz in ТП
Статеечка интересная на эту тему

https://m.habr.com/ru/post/168195/
источник

M

Mr.Fantomz in ТП
Тут в Java рассматривается
источник

EM

Eshu Marabo in ТП
S B
Главное правило - хеш-код не должен меняться на протяжении жизни объекта, иначе это равносильно непредсказуемому поведению всего, что основно на хешировании. И второе золотое правило - не использовать хеш для вычисления эквивалентности двух объектов, догадываешься почему?
Конкретно в моем случае - в c#, проблема еще в том, что хэш для ссылочных типов вычисляется один раз и не зависит от содержимого класса.
источник

EM

Eshu Marabo in ТП
спасибо)
источник

M

Mr.Fantomz in ТП
Eshu Marabo
спасибо)
Пжлст, мб как поможет
источник

ИБ

Илья Билаш in ТП
Спорная статеечка

Но, как мы помним, должно выполняться правило: “если у двух объектов одного и того же класса содержимое одинаковое, то и хеш-коды должны быть одинаковые ”.

Слишком спорное "правило". К тому же, нарушающее правило неизменности хеш кода при наличии мутабельных полей
источник

ИБ

Илья Билаш in ТП
Eshu Marabo
В догонку к хешам. Насколько адекватное решение - привязать хеш к времени создания объекта? По идее, шанс создания в один и тот же tick стремится к нулю?
Как по мне - максимально неадекватное.
источник

EM

Eshu Marabo in ТП
Илья Билаш
Как по мне - максимально неадекватное.
почему?
источник

ИБ

Илья Билаш in ТП
Eshu Marabo
почему?
Потому что время у тебя в каких единицах?
источник

M

Mr.Fantomz in ТП
Илья Билаш
Потому что время у тебя в каких единицах?
Это имеет значение в данном кейсе?
источник

SB

S B in ТП
Eshu Marabo
Конкретно в моем случае - в c#, проблема еще в том, что хэш для ссылочных типов вычисляется один раз и не зависит от содержимого класса.
Вычисляется кем/чем?
источник

EM

Eshu Marabo in ТП
Илья Билаш
Потому что время у тебя в каких единицах?
структура DateTime и у нее хеш сделан нормально))
источник

SB

S B in ТП
S B
Вычисляется кем/чем?
Звучит так, будто ты что-то недопонимаешь.
источник

EM

Eshu Marabo in ТП
S B
Вычисляется кем/чем?
clr при первом вызове GetHashCode()
источник

EM

Eshu Marabo in ТП
S B
Звучит так, будто ты что-то недопонимаешь.
скорее всего
источник

SB

S B in ТП
Mr.Fantomz
Каких именно двух объектов?
Имеются в виду объекты активной программы?
А как это меняет суть? Любых двух объектов во Всленной.
источник

ИБ

Илья Билаш in ТП
Eshu Marabo
структура DateTime и у нее хеш сделан нормально))
Для datetime это нормально, поскольку есть связь с содержимым. Для всего остального так делать глупо
источник

SB

S B in ТП
Eshu Marabo
clr при первом вызове GetHashCode()
Нет, ты не прав, каждый раз когда ты пытаешься прочитать по ключу, будет вычисляться его хеш-код.
источник

EM

Eshu Marabo in ТП
S B
Нет, ты не прав, каждый раз когда ты пытаешься прочитать по ключу, будет вычисляться его хеш-код.
источник