Size: a a a

var chat = new Chat();

2021 February 08

V

VD in var chat = new Chat();
Антон Камышенков
Переслано от Антон Камышенков
Тут майки предлагают переопределять операторы ,разве  нет интерфейса благодаря которому компилятор научиться сравнивать два объекта по значению ?
Нету
источник

V

VD in var chat = new Chat();
Операторы это статические методы
источник

V

VD in var chat = new Chat();
Интерфейс не может покрывать статику
источник

V

VD in var chat = new Chat();
Пока не ведут тайпклассы
источник

J

JuiceV in var chat = new Chat();
Антон Камышенков
Переслано от Антон Камышенков
Тут майки предлагают переопределять операторы ,разве  нет интерфейса благодаря которому компилятор научиться сравнивать два объекта по значению ?
Нет. В крайне каверзных ситуациях ты сам определяешь за какими критериями экземпляры одного класса будут сравниваться/суммироваться и т.д.
источник

D

Dmitry in var chat = new Chat();
Антон Камышенков
Переслано от Антон Камышенков
Тут майки предлагают переопределять операторы ,разве  нет интерфейса благодаря которому компилятор научиться сравнивать два объекта по значению ?
решарпер помогает сгенерить equals
источник

АК

Антон Камышенков... in var chat = new Chat();
Alex Kiev
нет
Жестко, я думал что это может научить его и методы которые он заставляет реализовать
источник

АК

Антон Камышенков... in var chat = new Chat();
Dmitry
решарпер помогает сгенерить equals
Я его не юзаю )
источник

V

VD in var chat = new Chat();
Антон Камышенков
Жестко, я думал что это может научить его и методы которые он заставляет реализовать
Это другой интерфейс
источник

AK

Alex Kiev in var chat = new Chat();
Антон Камышенков
Жестко, я думал что это может научить его и методы которые он заставляет реализовать
напиши решение с рефлексией и вставляй где надо
источник

АК

Антон Камышенков... in var chat = new Chat();
VD
Это другой интерфейс
источник

V

VD in var chat = new Chat();
Да, только он не влияет на ==
источник

V

VD in var chat = new Chat();
Это разные вещи
источник

АК

Антон Камышенков... in var chat = new Chat();
А GetHashCode возвращает одинаковое значение, если у меня есть два разных объекта, но значения свойств одинаковые ? Или он для разных объект ,хоть даже и значения у них одинаковые, возвращает разный код ?
источник

V

VD in var chat = new Chat();
Антон Камышенков
А GetHashCode возвращает одинаковое значение, если у меня есть два разных объекта, но значения свойств одинаковые ? Или он для разных объект ,хоть даже и значения у них одинаковые, возвращает разный код ?
Его переопределяют
Два объекта которым Equals()  дают true должны возвращать одинаковый хешкод
источник

V

VD in var chat = new Chat();
Хешкод используется для оптимизации сравнения в коллекциях  типа Dictionary
источник

rr

razumovsky r in var chat = new Chat();
VD
Хешкод используется для оптимизации сравнения в коллекциях  типа Dictionary
та вообще для оптимизации сравнения
источник

rr

razumovsky r in var chat = new Chat();
не важно в коллекции или еще где
источник

V

VD in var chat = new Chat();
razumovsky r
та вообще для оптимизации сравнения
Ну я для примера
источник

V

VD in var chat = new Chat();
Такто да
источник