Задать вопрос
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");
}
  • Вопрос задан
  • 186 просмотров
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • OTUS
    C# Developer. Professional
    6 месяцев
    Далее
  • Ulearn.me
    Основы программирования на примере C#. Часть 1
    1 неделя
    Далее
  • Software-testing.ru
    Программирование на C# для тестировщиков
    10 недель
    Далее
Решения вопроса 1
zagayevskiy
@zagayevskiy
Android developer at Yandex
Вы неправильно понимаете смысл ||.
Вы пишете, дословно, "если х не 2 или х не 3", что конечно, всегда истина.
В данном случае надо использовать &&.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
lexxpavlov
@lexxpavlov
Программист, преподаватель
Надо использовать И, а не ИЛИ, а у вас получилось "Число не двойка ИЛИ не тройка", то есть всегда истина.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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