Realnewbie
@Realnewbie
Самоучка

C# использование оператора || — что я делают не так?

Есть массив с неким числом X. Если X не двойка или тройка - выполнить ветку в if, в ином случае - else.

В чём проблема: если оставляю одну проверку (без or), допустим только "не двойка" - всё работает как надо.
Если с || - всегда выполняется ветка if, в else не попасть даже если X = 2 или 3.

if (arr[1] != 3 || arr[1] != 2)
{
Console.Write("Число не двойка и не тройка");
}
else
{
Console.Write("Попали в Else");
}
  • Вопрос задан
  • 185 просмотров
Решения вопроса 1
zagayevskiy
@zagayevskiy
Android developer at Yandex
Вы неправильно понимаете смысл ||.
Вы пишете, дословно, "если х не 2 или х не 3", что конечно, всегда истина.
В данном случае надо использовать &&.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
lexxpavlov
@lexxpavlov
Программист, преподаватель
Надо использовать И, а не ИЛИ, а у вас получилось "Число не двойка ИЛИ не тройка", то есть всегда истина.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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