@IslamuMilana

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

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

if (!object)
{
  //statement
}

или

if (object == false)
{
  //statement
}
  • Вопрос задан
  • 168 просмотров
Решения вопроса 3
mindtester
@mindtester Куратор тега C#
https://youtu.be/UtO6HIp1908?list=RDUtO6HIp1908
в одиночку - как самому легче читать
в команде - как все

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

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

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

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

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