Главная страница » 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.