Главная страница » C# » 46. Логические операторы
Логические операторы используются для выполнения операций над булевыми значениями (true или false). Они позволяют создавать сложные логические выражения и управлять выполнением кода на основе условий.
| Оператор | Описание | Пример | 
|---|---|---|
| &&(логическое И) | Возвращает true, если оба операнда равныtrue | true && false → false | 
| ` | ` (логическое ИЛИ) | |
| !(логическое НЕ) | Инвертирует булевое значение | !true → false | 
| ^(логическое исключающее ИЛИ) | Возвращает true, если один из операндов равенtrue, но не оба | true ^ false → true | 
&&)Оператор && возвращает true, если оба условия истинны.
Пример:
				
					bool isAdult = true;
bool hasTicket = false;
if (isAdult && hasTicket)
{
    Console.WriteLine("Можно войти.");
}
else
{
    Console.WriteLine("Вход запрещен.");
}
// Выведет: "Вход запрещен."
 
				
			
		Так как hasTicket == false, выражение isAdult && hasTicket возвращает false.
||)Оператор || возвращает true, если хотя бы одно из условий истинно.
Пример:
				
					bool isWeekend = false;
bool isHoliday = true;
if (isWeekend || isHoliday)
{
    Console.WriteLine("Сегодня выходной!");
}
else
{
    Console.WriteLine("Сегодня рабочий день.");
}
// Выведет: "Сегодня выходной!"
 
				
			
		Так как isHoliday == true, выражение isWeekend || isHoliday становится true.
!)Оператор ! меняет значение на противоположное.
Пример:
				
					bool isRainy = true;
if (!isRainy)
{
    Console.WriteLine("Можно идти гулять!");
}
else
{
    Console.WriteLine("Лучше взять зонт.");
}
// Выведет: "Лучше взять зонт."
 
				
			
		Оператор !isRainy инвертирует true в false.
^)Оператор ^ возвращает true, если только одно из значений равно true.
Пример:
				
					bool a = true;
bool b = false;
Console.WriteLine(a ^ b); // true
Console.WriteLine(a ^ a); // false
Console.WriteLine(b ^ b); // false
 
				
			
		Работает по принципу:
true ^ false → truefalse ^ true → truetrue ^ true → falsefalse ^ false → falseПриоритет выполнения операторов (от более высокого к низкому):
! (НЕ)&& (И)|| (ИЛИ)^ (исключающее ИЛИ)Пример приоритета:
				
					bool result = true || false && false;
// Выполняется так: true || (false && false) → true || false → true
Console.WriteLine(result); // true
 
				
			
		
				
					bool result = (true || false) && false;
// (true || false) → true, затем true && false → false
Console.WriteLine(result); // false
 
				
			
		short-circuiting)C# использует короткое замыкание в операторах && и ||:
&&: если первый операнд false, второй не проверяется.||: если первый операнд true, второй не проверяется.Пример:
				
					bool Check()
{
    Console.WriteLine("Функция вызвана!");
    return true;
}
bool result = false && Check(); // Check() не вызывается, так как `false && ...` всегда `false`
Console.WriteLine(result); // false
 
				
			
		&&, ||, !, ^) позволяют строить сложные условия.short-circuiting) помогает оптимизировать выполнение условий.Логические операторы — важный инструмент для управления потоком выполнения программ в C#.
Напишите программу, которая проверяет, может ли пользователь получить доступ к сервису.
isRegistered == true и (isAdmin == true или hasSubscription == true), доступ разрешен.Пример:
				
					using System;
class Program
{
    static void Main()
    {
        bool isRegistered = true;
        bool isAdmin = false;
        bool hasSubscription = true;
        if (isRegistered && (isAdmin || hasSubscription))
        {
            Console.WriteLine("Доступ разрешен.");
        }
        else
        {
            Console.WriteLine("Доступ запрещен.");
        }
    }
}
 
				
			
		Попробуйте написать и запустить этот код, чтобы убедиться в правильности выполнения операций и особенностях работы с числами с плавающей точкой.
Телефон: +375 33 910-08-92 
Email: info@codefor.tech
Адрес: г. Барановичи, ул. Пирогова, д. 7
© 2024-2025 Все права защищены. CodeFor.
 
													Язык сайта: