Логические операторы C#
Логические операторы выполняют логически-И (&&и логического или () || операции).
Синтаксис
логически-И-выражение.
включительн-ИЛИ-выражениелогически-И-выражение && включительн-ИЛИ-выражение
логически-ИЛИ-выражение.
логически-И-выражениелогически-ИЛИ-выражение || логически-И-выражение
Логические операторы не выполняют обычные арифметические преобразования.Вместо этого они имеют каждый операнд с точки зрения их эквивалентности до 0.Результат логической операции или равно 0 или 1.Тип результата int.
Логические операторы c# описанных ниже:
Оператор |
Описание |
---|---|
&& |
Логически-И оператор возвращает значение 1, если оба операнда имеют ненулевые значения.Если один из операндов равен 0, то результат равен 0.Если первый операнд a логически-И операции равен 0, то второй операнд не вычисляется. |
|| |
Выполняет операцию логического или включительн-ИЛИ оператор с операндами.Значение 0, если оба операнда имеют значение 0.Если любой из операндов имеет ненулевое значение, результат 1.Если первый операнд a операции логического или имеет ненулевое значение, то второй операнд не вычисляется. |
Операнды и логически-И логического или выражения вычисляются слева направо.Если значение первого операнда достаточно, чтобы определить результат операции, то второй операнд не вычисляется.Это называется оценкой короткого "замыкания". Укажите последовательности после первого операнда.См. Элементы последовательности для получения дополнительных сведений.
Примеры
В следующих примерах показаны логические операторы:
int w, x, y, z;
if ( x < y && y < z )
printf( "x is less than z\n" );
В этом примере printf функция вызывается, чтобы напечатать сообщение, если x меньше y и y меньше z.If x больше yвторой операнд (y < z) не вычисляет и выводится ничего.Обратите внимание, что это может вызвать проблемы в случаях, когда второй операнд есть побочные эффекты, которые используют on по какой-либо другой причине.
printf( "%d" , (x == w || x == y || x == z) );
в этом примере, если x соответствующие этому w" yили zвторой аргумент printf функция вычисляет, что значение равно true и печатается значение 1.В противном случае оно равно false, а значением 0 выводится.После оценки условий true, оценка перестает.