Условные конструкции в C#, в частности операторы if-else, позволяют выполнять разные участки кода в зависимости от выполнения определенного условия.
Условные конструкции
Условные конструкции позволяют задать условие: если условие истинно, выполняется один блок кода; если ложно – другой.
Создадим переменную:
int a = 5;
Будем проверять её значение (позже рассмотрим другие типы данных).
Оператор if
Ключевое слово if, за которым следуют круглые скобки (), содержащие условие:
if (a == 5)
{
Console.WriteLine("Number is five");
}
Два знака равенства (==) — проверка на равенство; один знак (=) — присваивание значения. Код выведет «Number is five», так как a равно 5. Фигурные скобки {} заключают любой объём кода.
Операторы сравнения
Помимо равенства (==), используются:
- > (больше)
- < (меньше)
- >= (больше или равно)
- <= (меньше или равно)
- != (не равно)
Пример проверки на неравенство:
if (a != 5)
{
Console.WriteLine("Number is not five");
}
Этот код ничего не выведет, так как условие a != 5 ложно.
Строки и булевы переменные
Условные операторы работают не только с числами:
string word = "hello";
bool isHappy = true;
if (word == "hello") { Console.WriteLine("Word is hello"); }
if (isHappy) { Console.WriteLine("User is happy"); }
if (!isHappy) { Console.WriteLine("User is not happy"); }
! — оператор логического отрицания.
Оператор else
Для выполнения кода при ложном условии if используется else:
if (a == 5)
{
Console.WriteLine("Number is five");
}
else
{
Console.WriteLine("Number is not five");
}
Оператор else if
Для добавления условий используется else if:
if (a > 7)
{
Console.WriteLine("Number is greater than 7");
}
else if (a < 5)
{
Console.WriteLine("Number is less than 5");
}
else
{
Console.WriteLine("Number is 5");
}
Упрощение записи if
Если в блоке if (или else if) одна строка, фигурные скобки можно опустить:
if (a == 5) Console.WriteLine("Number is five");
Вложенные условия
Внутри условных операторов можно использовать другие:
bool isOscar = true;
if (a == 5)
{
Console.WriteLine("Number is five");
if (isOscar) Console.WriteLine("User has a car");
}
Логические операторы AND и OR
Логические операторы && (И) и || (ИЛИ) проверяют несколько условий:
if (a == 5 && isOscar) { Console.WriteLine("A is 5 and user has a car"); }
if (a == 5 || isOscar) { Console.WriteLine("A is 5 or user has a car"); }
Практический пример: обработка данных пользователя
Console.Write("Enter your role: ");
string role = Console.ReadLine();
Console.Write("Enter username: ");
string username = Console.ReadLine();
if (role == "admin")
{
Console.Write("Enter user's age: ");
short age = Convert.ToInt16(Console.ReadLine());
if (age < 0 || age > 99)
{
Console.WriteLine("Error: Invalid age.");
}
else
{
Console.WriteLine($"User {username}'s age is set to {age}");
}
}
else
{
Console.WriteLine("You are not an admin.");
}
Этот пример демонстрирует обработку ввода, проверку роли и валидацию возраста.
Условные операторы if, else, else if и логические операторы && и || — фундаментальные элементы программирования на C#. Их понимание необходимо для создания гибких программ.