Код: Выделить всё
public static bool operator ==(AnonymousType0 x, AnonymousType0 y) => x is not null && x.Equals(y);
public static bool operator !=(AnonymousType0 x, AnonymousType0 y) => !(x == y);
[*] Иногда он синхронизируется с равными , иногда нет.
Иногда он всегда возвращает одно и то же значение независимо от того, какой тип объект был поднят, иногда нет. Оператор также), действительно кажется, что нет четкой цели для отдельно-внедренного оператора == на языке. Такое ощущение, что это просто служит путанице и приведению к ненужным ошибкам, и было бы лучше, если бы == вообще не может быть перегружена вообще, и вместо этого он всегда проверял операнд на стороне левой стороны и выполнял свой метод равных с помощью правого операнда, который я думаю, что-то, что есть какое-то код, код/код , я предполагаю, что это может быть каким-то кодрой, который можно предположить. Оператор может быть перегружен, чтобы обеспечить пользовательскую проверку равенства на основе идентификации, которая отличается как от равенства значения, так и от справочного равенства-например, на основе гид. Тем не менее, в документации Microsoft, по -видимому, нигде не указывается, что это предполагаемый вариант использования. место; Мой рассказывает об операторах == и! Скажите: < /p>
По умолчанию оператор == Тестирование на справочное равенство, определяя, указывают ли две ссылки один и тот же объект. Поэтому ссылочные типы не должны реализовать оператор ==, чтобы получить эту функциональность. Когда тип неизменен, то есть данные, которые содержатся в экземпляре, не могут быть изменены, оператор перегрузки == для сравнения значения равенства вместо эталонной равенства может быть полезным, потому что, как несомненные объекты, их можно считать такими же, как и то же самое, что у них одно и то же значение.
. Похоже, что статья была написана в год после года. /> edit < /strong>: Руководство Microsoft по проектированию для операторов равенства может сказать: < /p>
✔ Убедитесь, что Object.evals и операторы равенства имеют одинаковую семантику и аналогичные характеристики. в год после выпуска C# 3.0.
Подробнее здесь: https://stackoverflow.com/questions/796 ... records-do
Мобильная версия