@IslamuMilana

Разница логики в условие if?

В чём разница и как лучше писать:

if (!object)
{
  //statement
}

или

if (object == false)
{
  //statement
}
  • Вопрос задан
  • 173 просмотра
Решения вопроса 3
mindtester
@mindtester Куратор тега C#
http://iczin.su/hexagram_48
в одиночку - как самому легче читать
в команде - как все

для одной переменной удобно if (!object)
если проверяется член класса if (MyClass.member.property == false) может быть нагляднее, по тому что акцентирует .property == false
Ответ написан
Комментировать
@rPman
Так как операторы == и ! можно перегрузить, то будет зависеть от их реализации, для чисел и то и другое сравнение с нулем, но идеологически if(!x) это две операции, когда как == только одна, понятно что компилятор может оптимизировать по своему.

Еще сравнивать с false - читабельнее.

И лучше писать:
if(false == value) {...}
это сильно уменьшает вероятность ошибки (например вместо == написали =)
Ответ написан
vabka
@vabka Куратор тега C#
Токсичный шарпист
В си нет типа bool, так что буду говорить про C#.
Если object - bool, то разница только в читабельности.
Лично мне больше нравится вариант == false
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы