Меня всегда беспокоило то, что в C# нет специального оператора равенства ссылок, который нельзя было бы перегрузить. Чтобы проверить, является ли ссылка нулевой, я хочу написать такой код:
Но всегда возникает мучительная мысль: «А что, если класс перегрузил оператор ==?». Меня не интересует, считает ли класс объект эквивалентным нулю. Меня интересует, является ли объект ссылка нулевым. Альтернативы, похоже, приводят к объекту:
и Object.ReferenceEquals():
Код: Выделить всё
if (Object.ReferenceEquals(thing, null)) // long form
if (ReferenceEquals(thing, null)) // short form
Есть ли способ проверить значение null, не беспокоясь о том, что == переопределен в C#?
Подробнее здесь:
https://stackoverflow.com/questions/466 ... e-to-being