C# для начинающих: Урок 5 — Условные операторы (if-else)

Условные конструкции в 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#. Их понимание необходимо для создания гибких программ.

Что будем искать? Например,программа