Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
⊗csPmScNbl 182 of 436 menu
◀ ▶

Вложенные блоки в C#

Внутренний блок видит переменные внешнего блока. В следующем примере num объявлена во внешнем if и доступна во вложенном:

int age = 20; if (age >= 18) { string res = "adult"; if (age <= 23) { Console.WriteLine(res); // prints adult } }

Переменная, объявленная во внутреннем блоке, снаружи не видна:

int age = 17; string res; if (age >= 18) { if (age <= 23) { string note = "18 to 23"; } } else { res = "under 18"; } Console.WriteLine(note); // error

Чтобы записать текст во внешнюю res, уберем лишние объявления внутри веток и присвоим значение существующей переменной:

int age = 19; string res; if (age >= 18) { if (age <= 23) { res = "18 to 23"; } else { res = "over 23"; } } else { res = "under 18"; } Console.WriteLine(res); // prints 18 to 23

Автор кода не записывает строку во внешнюю res. Исправьте ошибку:

int age = 17; string res; if (age >= 18) { if (age <= 23) { string res = "18 to 23"; } else { string res = "over 23"; } } else { string res = "under 18"; } Console.WriteLine(res);
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить