← Все вопросы

Как работает if/else в C#? Делаю проверку чётности и путаюсь

Задан 2 месяца назад1.3к просмотров2 ответа
4

Учу условия в C#. Хочу написать программу, которая говорит, чётное число или нечётное, но не понимаю, куда ставить скобки и нужен ли else.

Попытка:

int n = 4;
if n % 2 == 0
    Console.WriteLine("чётное");
else
    Console.WriteLine("нечётное");

Компилятор ругается. Как правильно писать if в C#?

2 ответа

9
✓ Принятый ответ — помог автору

В C# условие в if обязательно берётся в круглые скобки ( ). У тебя их нет — отсюда ошибка.

Рабочий вариант:

int n = 4;
if (n % 2 == 0)
{
    Console.WriteLine("чётное");
}
else
{
    Console.WriteLine("нечётное");
}

Фигурные скобки { } объединяют несколько строк в один блок. Если в ветке всего одна команда, скобки можно опустить, но новичкам советую ставить всегда — меньше шансов ошибиться.

Если веток несколько, используется else if:

int score = 75;
if (score >= 90)
    Console.WriteLine("отлично");
else if (score >= 60)
    Console.WriteLine("норм");
else
    Console.WriteLine("надо подтянуть");

Главное помни: в if сравнение через ==, а не =. И условие должно давать bool.

4

Добавлю про распространённую ошибку без скобок:

if (x > 0)
    Console.WriteLine("a");
    Console.WriteLine("b"); // ВЫПОЛНИТСЯ ВСЕГДА!

К if относится только первая строка, вторая выполнится при любом x. Поэтому, если хочешь две команды в ветке, оборачивай их в { }. Из-за этого как раз и ставят фигурные скобки всегда.

Ваш ответ

Войдите, чтобы ответить на вопрос.
Поддержать проект