Задать вопрос
@IslamuMilana

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

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

if (!object)
{
  //statement
}

или

if (object == false)
{
  //statement
}
  • Вопрос задан
  • 180 просмотров
Подписаться 1 Простой 1 комментарий
Помогут разобраться в теме Все курсы
  • OTUS
    C# Developer. Professional
    6 месяцев
    Далее
  • Нетология
    Разработчик игр на Unity
    13 месяцев
    Далее
  • XYZ School
    Разработка игр на Unity
    5 месяцев
    Далее
Решения вопроса 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) {...}
это сильно уменьшает вероятность ошибки (например вместо == написали =)
Ответ написан
В си нет типа bool, так что буду говорить про C#.
Если object - bool, то разница только в читабельности.
Лично мне больше нравится вариант == false
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы