Равно (элемент, ноль) или элемент == нольC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Равно (элемент, ноль) или элемент == ноль

Сообщение Anonymous »


Является ли код, использующий статический Object.Equals для проверки значения null, более надежным, чем код, использующий оператор == или обычный Object.Equals? Не являются ли последние два уязвимыми для переопределения таким образом, что проверка на значение null не работает должным образом (например, возврат false, когда сравниваемое значение является null)?

Другими словами, это:

if (Equals(item, null)) { /* Сделать что-нибудь */ } более надежный, чем этот:

if (item == null) { /* Сделать что-нибудь */ } Лично я считаю, что последний синтаксис легче читать. Следует ли этого избегать при написании кода, который будет обрабатывать объекты, находящиеся вне контроля автора (например, библиотеки)? Следует ли всегда избегать этого (при проверке на ноль)? Это просто ерунда?
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»