Комментарии:
Спасибо за разборы. 24.07.2023. Читаю главу из книги, затем смотрю твой разбор. Очень хорошо получается.
Ответитьis it true: var works as dynamic?
ОтветитьПоследний пример про хранение хэшей в базе. Разве в Identity сейчас нет это реализовано?
ОтветитьХороший урок !
Спасибо за труд
почему нельзя использовать change
Ответить3
ОтветитьЕсли Халк поднял Тора, а Тор держит в руках Мьёльнир, значит, по закону транзитивности, Халк поднял Мьёльнир.
Ответитьспасибо за стримм!!
Ответитьвсем привет
Ответитьуже понедельник
ОтветитьПрекрати отвелкаться :)
ОтветитьСпасибо.
Как называется видео, где можно посмотреть про хеш таблицы. Не нашел.
Не понял зачем нужен на практике GetHashCod куда это применять.
ОтветитьСпасибо за твои труды)
ОтветитьВопросики:
1. Когда мы сравниваем значимые типы через Equals, то при равных значениях может быть false например:
byte b = 1;
int i = 1;
Console.WriteLine(b.Equals(i)); // false
Console.WriteLine(i.Equals(b)); // true
Вижу тут правила, адекватно работать будет только в 2 случаях если значения одинаковые :
1. Типы равны;
2. Сравнивать можно только из большего типа в меньший. Нарушается правила СИММЕТРИЧНОСТЬ
Вопрос: Сравнение ЗНАЧИМЫХ типов не желательно через Equals? Так как мы не можем переопределить Equals по правила равенства(рефлексивность, симметричность - идет нарушение симметричности, транзитивность и т.д. ), + еще ValueType Equals работает медленно из-за отражения. Остается вариант сравнения через оператор ==. Хоть я не видел кода оператора ==, выполняется правила равенства, возможно отсутствие отражение.
Вывод: сравнивать значимые типы которые нельзя переопределить int, byte, float и т.д. лучше через оператор ==, нежели через Equals. Правильно ?
2. Хоть я и ответил частично на текущий вопрос выше, с условием если вывод был правильный. Но зачем нам использовать Equsls если у нас есть оператор == ?.Почему мы стремимся сделать Equals равным оператору ==, или это одно и тоже ))) ?