Код: Выделить всё
if (thing == null)
Код: Выделить всё
if ((object)thing == null)
Код: Выделить всё
if (Object.ReferenceEquals(thing, null)) // long form
if (ReferenceEquals(thing, null)) // short form
Код: Выделить всё
if (thing is object) // thing != null
if (!(thing is object)) // thing == null
Я нашел что, по крайней мере, для меня такой код более читабелен и его гораздо удобнее печатать, тем более что утвердительный регистр (вещь является объектом) встречается в моем коде гораздо чаще, чем отрицательный регистр (!(вещь является объектом)).
Итак, мой вопрос: есть ли какие-нибудь подводные камни или крайние случаи, о которых я не знаю? Считается ли это плохой практикой или неэффективным? Это сбивает с толку? Почему я никогда не вижу такого кода?
Подробнее здесь: https://stackoverflow.com/questions/466 ... enceequals