Главная страница » C# » 47. Отрицание
Отрицание в C# выполняется с помощью логического оператора ! (логическое НЕ). Этот оператор изменяет булево значение на противоположное:
true становится false,false становится true.Он часто используется в условиях (if, while) и проверках.
!Оператор ! применяется перед булевой переменной или выражением.
				
					bool isRainy = true;
if (!isRainy)
{
    Console.WriteLine("Можно идти гулять!");
}
else
{
    Console.WriteLine("Лучше взять зонт.");
}
// Выведет: "Лучше взять зонт."
 
				
			
		Здесь !isRainy инвертирует true в false, поэтому программа выполняет код в else.
Часто используется в if, while и do-while циклах.
if:
				
					bool isAvailable = false;
if (!isAvailable)
{
    Console.WriteLine("Товар отсутствует.");
}
 
				
			
		Если isAvailable == false, оператор !isAvailable превращает его в true, и код выполняется.
while:
				
					bool isRunning = true;
while (!isRunning)
{
    Console.WriteLine("Программа завершена.");
}
 
				
			
		Так как !isRunning равно false, цикл не выполнится.
Часто ! комбинируется с &&, || и другими логическими операторами.
&& и ||:
				
					bool isWeekend = false;
bool isHoliday = true;
if (!(isWeekend || isHoliday))
{
    Console.WriteLine("Сегодня рабочий день.");
}
else
{
    Console.WriteLine("Можно отдыхать!");
}
// Выведет: "Можно отдыхать!"
 
				
			
		В выражении !(isWeekend || isHoliday):
isWeekend || isHoliday дает true,!true превращается в false, поэтому if не выполняется.Оператор ! часто применяется в методах, особенно в проверках.
				
					bool IsUserAuthorized()
{
    return false; // Пользователь не авторизован
}
if (!IsUserAuthorized())
{
    Console.WriteLine("Доступ запрещен.");
}
 
				
			
		Так как IsUserAuthorized() возвращает false, !false становится true, и программа выводит "Доступ запрещен.".
!!)В C# двойное отрицание (!!) часто используется для приведения значения к bool.
				
					string? userName = "Alex";
bool hasName = !!userName; // Преобразует в булево значение
Console.WriteLine(hasName); // true
 
				
			
		Если userName не null, !!userName превращает его в true.
! инвертирует булево значение.bool (!!value).Логическое отрицание — важный инструмент, позволяющий легко управлять логикой программы в C#.
Напишите программу, которая проверяет, может ли пользователь войти в систему:
isLoggedIn == false, выводится "Вход запрещен."isLoggedIn == true, выводится "Добро пожаловать!"Пример кода:
				
					using System;
class Program
{
    static void Main()
    {
        bool isLoggedIn = false;
        if (!isLoggedIn)
        {
            Console.WriteLine("Вход запрещен.");
        }
        else
        {
            Console.WriteLine("Добро пожаловать!");
        }
    }
}
 
				
			
		Попробуйте написать и запустить этот код, чтобы убедиться в правильности выполнения операций и особенностях работы с числами с плавающей точкой.
Телефон: +375 33 910-08-92 
Email: info@codefor.tech
Адрес: г. Барановичи, ул. Пирогова, д. 7
© 2024-2025 Все права защищены. CodeFor.
 
													Язык сайта: