Основы C#. Урок 5. Логические операторы
Как и в других C-подобных языках, в C# существуют следующие логические операторы:
Оператор | Описание | Пример |
&& | Логическое И. Результат равен true, только если оба операнда равны true | (x==8) && (y==5) |
|| | Логическое ИЛИ. Результат равен false, только если оба операнда равны false | (y>8) || (y<5) |
! | Отрицание. Изменяет логическое значение на противоположное | if(!(a==b))... |
Все эти операторы возвращают результат типа bool.
Обратите внимание, что для логического равно (т. е. для ответа на вопрос "Верно ли, что что-то равно чему-то") используется знак двойного равенства (==). Знак же одинарного равенства (=) используется для присваивания. Для знака == существует парный знак != ("не равно"). Так, приведенный выше пример для оператора ! можно переписать так:
if(!(a==b))...
Отметим, что в C#, в отличии от многих других языков программирования, нельзя вместо false использовать 0, а вместо true - любое ненулевое число. Так, следующий фрагмент содержит ошибку:
int k; ... if(k) //Ошибка! ...