if и else
bool ready = true; сохраняет слово true. Затем if (ready) смотрит на это слово и выполняет одну группу строк. Когда ready равно true, Console.WriteLine("pass") пишет pass. Когда ready равно false, выполняется группа else и пишет wait. Экран — одна строка. Оставьте имя публичного класса Pine.
bool решает, какой блок выполнится
Откройте файл Pine. Имя класса остаётся Pine. Эта страница не переименовывает тип. Удалите bool both, если эта строка ещё есть, включая true && true, true || false, !true и любой объединяющий знак между двумя словами true или false. Удалите bool match, если эта строка ещё есть. Удалите int total, если эта строка ещё есть. Удалите любую строку ReadLine. В файле, который вы оставляете, нет ожидания ввода, нет both, нет match и нет голой печати объединённого слова само по себе. Экран пишет только строка вывода внутри выбранных фигурных скобок.
Внутри Main сохраните bool до выбора пути: bool ready = true;. bool — слово вида. ready — имя, и оно начинается с маленькой r. Вокруг true нет кавычек. Точка с запятой завершает строку сохранения. Эта строка не пишет экран. После неё идёт сам выбор:
if (ready) {
Console.WriteLine("pass");
} else {
Console.WriteLine("wait");
}
Слово if строчными буквами: i, затем f. Это не имя, которое вы придумываете. Пробел после if допустим; if(ready) без пробела тоже собирается. В круглых скобках стоит имя ready — без кавычек, без ==, без &&. Когда ready хранит true, C# входит в первую пару фигурных скобок и выполняет Console.WriteLine("pass");. Кавычки вокруг pass помечают буквы для экрана. Именно эти буквы — p, a, s, s — вы должны увидеть, одна строка. Блок else на этом запуске полностью пропускается. Сохраните файл.
Файл, который вы оставляете
Оставьте эту учебную форму. Одно слово вида — bool. Одно имя — ready, сохранённое как true. Один if с круглыми скобками вокруг ready. Одна строка вывода, которая пишет pass внутри первых фигурных скобок. Один else со строкой вывода, которая пишет wait. Нет строки both, нет строки match и нет печати голого слова true вне фигурных скобок.
using System;
public class Pine
{
public static void Main()
{
bool ready = true;
if (ready)
{
Console.WriteLine("pass");
}
else
{
Console.WriteLine("wait");
}
}
}
Читайте сверху. using System; готовит короткие имена. public class Pine именует тип. public static void Main() — место, где стартует среда выполнения. bool ready = true; сохраняет true. Ничего не пишет. if (ready) спрашивает, является ли сохранённое слово true. Является, поэтому выполняется Console.WriteLine("pass");. Фигурные скобки else пропускаются. На экране одна строка: pass. Без кавычек на экране. Без второй строки. В файле, который вы оставляете, нет строки bool both.
Запустите dotnet run. Программа пишет pass. Она не ждёт, пока вы введёте текст. Сохранённое слово и выбор уже были в файле. Если dotnet run ждёт, в файле ещё есть ReadLine. Удалите эту строку и оставьте bool ready = true; и тот же if / else выше. Программа заканчивается после выбранной строки вывода. Экран показывает pass. Одна строка. Если экран показывает true, вы всё ещё печатаете сам bool или в Main ещё осталось объединение со страницы логических операторов. Замените это на Console.WriteLine("pass") внутри фигурных скобок if, когда ready равно true. Если экран показывает wait, то ready равно false — это второй файл на этой странице, а не файл, который вы оставляете. Если экран показывает буквы if (ready), в строке вывода эти символы в кавычках. Вы не переустанавливаете .NET SDK из‑за экрана с неправильной строкой.
Почему pass, а не wait? Потому что проверка в круглых скобках была true. C# на этом запуске не пишет слово true. Он пишет ту строку вывода, которая выполняется внутри выбранных фигурных скобок. Держите в уме три роли: круглые скобки держат проверку, фигурные скобки группируют связанные строки, и только Console.WriteLine пишет на экран. Экран с pass сам по себе не доказывает if. Ищите в файле if (ready) и фигурные скобки. Не судите о файле только по экрану.
Когда ready равно false
Измените только сохранённое значение: bool ready = false;. Структуру if / else оставьте как есть. Теперь проверка не проходит, поэтому C# пропускает первые фигурные скобки и выполняет фигурные скобки else. Экран должен показать wait, одна строка.
using System;
public class Pine
{
public static void Main()
{
bool ready = false;
if (ready)
{
Console.WriteLine("pass");
}
else
{
Console.WriteLine("wait");
}
}
}
Это второй файл. Это не файл, который вы оставляете. Запустите dotnet run. Экран показывает wait. Одна строка. Он не показывает pass. Он не показывает false как слово экрана, если вы сами его не напечатали. Если экран показывает pass, вы всё ещё на файле, который оставляете, где ready равно true. После того как увидели wait, верните оставляемый файл: bool ready = true; и тот же if / else, который на пути true пишет pass. Обе версии — допустимый C#. Они учат одну и ту же форму if / else с противоположными проверками.
Прочитайте ложный запуск ещё раз по порядку. ready хранит false. Задаётся if (ready). Ответ — false, поэтому каждая строка между первой { и её парной } пропускается — включая Console.WriteLine("pass");. Управление продолжается на else. Строки между фигурными скобками else выполняются, поэтому срабатывает Console.WriteLine("wait");. На экране одна строка. Без второй строки. Само слово false не появляется, если вы не печатаете его намеренно.
Правила, которые держат выбор ясным
Круглые скобки вокруг проверки обязательны. Запись if ready { … } без круглых скобок заставляет сборку писать ошибку. Проверка на этой странице — bool: имя вроде ready или голые слова true или false без кавычек. if ("true") ставит буквы туда, где нужна проверка bool; сборка пишет ошибку. Уберите кавычки или продолжайте использовать имя bool. Одно целое число вроде if (1) — не то, как этот урок сохраняет готовность; оставайтесь с true, false или именем bool.
Фигурные скобки важны для чтения урока. Эта страница всегда оборачивает каждый путь в { }. C# допускает однострочный if без фигурных скобок, но как только вы добавите вторую строку под этим if, к проверке останется привязана только первая строка, если нет фигурных скобок. Новички легко теряют эту деталь. Держите фигурные скобки в обоих демо, чтобы каждый путь был очевиден: одна открывающая скобка после проверки, одна закрывающая перед else, затем ещё одна пара для else.
else принадлежит if. Одинокий else заставляет сборку писать ошибку. На этой странице у одного if один else. Можно писать if без else, если вас интересует только путь true; файл, который вы оставляете, всё равно показывает обе стороны, чтобы была видна развилка. Выбор среди нескольких фиксированных значений — это switch на следующей странице; здесь не изобретайте третью ветку ещё одним else.
Можно написать проверку и без отдельного имени: if (true) { … } else { … }. Это собирается и выполняется. Демо используют ready, чтобы вы видели, как сохранённый bool ведёт выбор — так выглядят программы после того, как вы уже умеете сохранять true и false. Сравнения вроде if (score > 10) идут после того, как вы уверенно держите эту развилку true / false; эта страница оставляет проверку значением bool, которое вы уже понимаете.
📊 ready and the screen
| ready | Screen |
|---|---|
| true | pass |
| false | wait |
Таблицу используйте как проверку после запуска, а не вместо него. true с файлом, который вы оставляете, пишет pass. false со вторым файлом пишет wait. Если обе строки вывода как‑то выполняются, фигурные скобки или спаривание if / else неверны — исправьте структуру, а не переустанавливайте .NET SDK.
Частая путаница — печатать сам синтаксис: Console.WriteLine("if (ready)");. Это пишет символы if (ready). Путь не выбирается. Другая путаница — оставить демо с && или == в том же Main и удивляться, почему экран показывает true вместо pass. В Main этой сессии должны быть только bool и if / else.
Теперь вы можете сохранить bool, поставить его в if (…), и дать каждому исходу свой блок в фигурных скобках. Когда проверка true, выполняется одна строка вывода; когда она false, выполняется строка вывода else. Следующая страница — switch, где несколько фиксированных значений получают каждый свой case вместо одной развилки true / false.
Экран — выбранный путь
Файл, который вы оставляете, пишет pass. Имя ready стоит в круглых скобках, и ready на экране нет. Слово true стоит в строке сохранения, и true на экране нет. Путь else есть в файле, и на оставляемом запуске он не выполняется. Кавычки вокруг if (ready) пишут буквы, а не выбранный путь.
🧠 Проверьте Свои Знания
Проверьте Свои Знания
Бросьте себе вызов с помощью этой интерактивной викторины и узнайте, насколько хорошо вы понимаете тему
📝 Инструкции
- Внимательно прочитайте каждый вопрос
- Выберите лучший ответ на каждый вопрос
- Вы можете пересдавать тест столько раз, сколько захотите
- Ваш прогресс будет показан вверху