Назад Вперед Зміст


Логічні оператори

Логічні операції (&&, ||, !, ^) застосовні лише до значень типу boolean. Їх результатом також служать величини типу boolean.
Оператор Операція Пояснення Приклад
! Лог. заперечення НЕ F=!C;
&& Лог. множення І F=D && T;
|| Лог. додавання АБО F=A || B;
^ Виключаюче АБО Викл. АБО F=A ^ B;

Логічні операції

Також у C# визначені логічні оператори, які також повертають значення типу bool. Як операнди вони приймають значення типу bool. Як правило, застосовуються до відношень та об'єднують кілька операцій порівняння.

  1. |

    Операція логічного додавання або логічне АБО. Повертає true, якщо хоча б один з операндів повертає true.

  2. &

    Операція логічного множення або логічне І. Повертає true, якщо обидва операнди одночасно рівні true.

  3. ||

    Операція логічного додавання. Повертає true, якщо хоча б один з операндів повертає true.

  4. &&

    Операція логічного множення. Повертає true, якщо обидва операнди одночасно рівні true.

  5. !

    Операція логічного заперечення. Виконується над одним операндом і повертає true, якщо операнд дорівнює false. Якщо операнд дорівнює true, то операція повертає false:

  6. ^

    Операція виключаючого АБО. Повертає true, якщо або перший, або другий операнд (але не одночасно) рівні true, інакше повертає false

Тут у нас дві пари операцій | і || (а також & і &&) виконують схожі дії, однак вони не рівноцінні.

У виразі z=x|y; будуть обчислюватися обидва значення - x і y.

У виразі ж z=x||y; спочатку буде обчислюватися значення x, і якщо воно дорівнює true, то обчислення значення y вже не має сенсу, оскільки у нас у будь-якому випадку вже z буде дорівнювати true. Значення y буде обчислюватися тільки в тому випадку, якщо x дорівнює false

Те саме стосується пари операцій &/&&. У виразі z=x&y; будуть обчислюватися обидва значення - x і y.

У виразі ж z=x&&y; спочатку буде обчислюватися значення x, і якщо воно дорівнює false, то обчислення значення y вже не має сенсу, оскільки у нас у будь-якому випадку вже z буде дорівнювати false. Значення y буде обчислюватися тільки в тому випадку, якщо x дорівнює true

Тому операції || і && зручніші в обчисленнях, оскільки дозволяють скоротити час на обчислення значення виразу, і тим самим підвищують продуктивність. А операції | і & більше підходять для виконання побітових операцій над числами.

Операція && має вищий пріоритет, ніж операція ||. Так, у виразі true || true && false спочатку виконується підвираз true && false.


Назад Вперед Зміст