0Pricing
C# Academy · Урок

break/continue; goto (избегайте); область действия; исключения и проверки условий

Правильно используйте break и continue, разберитесь, почему goto не рекомендуется, безопасно применяйте правила областей действия и выбирайте между исключениями и проверками условий.

«break/continue; goto (избегайте); область действия; исключения и проверки условий» — бесплатный урок C# Academy на CoddyKit. Это урок 2 из 3. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения C# Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс C# Academy содержит 3 уроков всего.

Обзор урока

Цель: управлять ходом цикла с помощью break и continue, избегать goto, учитывать область видимости переменных и выбирать между исключениями и защитными проверками.

break в действии

break немедленно завершает цикл.

using System;

public class Program
{
  public static void Main(string[] args)
  {
    for (int i = 1; i <= 10; i = i + 1)
    {
      if (i == 4)
      {
        Console.WriteLine("Stop at 4");
        break; // exit loop completely
      }
      Console.WriteLine("i = " + i);
    }
  }
}

continue в действии

continue пропускает текущую итерацию и переходит к следующей.

using System;

public class Program
{
  public static void Main(string[] args)
  {
    for (int i = 1; i <= 5; i = i + 1)
    {
      if (i % 2 == 0)
      {
        continue; // skip even numbers
      }
      Console.WriteLine("Odd: " + i);
    }
  }
}

Как избегать goto

goto создаёт запутанный поток выполнения; вместо него используйте структурированные циклы (while/for/foreach).

using System;

public class Program
{
  public static void Main(string[] args)
  {
    // Goto works but harms readability; prefer structured loops.
    int i = 0;
start:
    i = i + 1;
    Console.WriteLine("i = " + i);
    if (i < 3)
    {
      goto start; // avoid using goto in real code
    }

    // Prefer: while loop (clear intent)
    int j = 0;
    while (j < 3)
    {
      j = j + 1;
      Console.WriteLine("j = " + j);
    }
  }
}

Основы области видимости

Область видимости определяется фигурными скобками { }. Объявляйте переменные рядом с местом использования и не переиспользуйте имена во вложенных блоках.

using System;

public class Program
{
  public static void Main(string[] args)
  {
    int x = 10; // outer scope
    if (x > 0)
    {
      int y = 5; // inner scope
      Console.WriteLine("x + y = " + (x + y));
    }
    // y is not visible here; this would not compile:
    // Console.WriteLine(y);

    // Shadowing (avoid reusing names in nested scopes)
    int value = 1;
    {
      int valueInner = 2; // use a new name instead of shadowing
      Console.WriteLine("value=" + value + ", inner=" + valueInner);
    }
  }
}

Основы диагностики

Используйте защитные проверки для ожидаемого некорректного ввода, а исключения — для исключительных состояний.

using System;

public class Program
{
  // Guard check: return a bool and an out parameter (no exception on normal invalid input).
  public static bool TryDivide(int x, int y, out int result)
  {
    if (y == 0)
    {
      result = 0;
      return false; // guard fail
    }
    result = x / y;
    return true;
  }

  // Exceptional state: throw when something truly exceptional happens.
  public static int PriceWithTax(int price, int ratePercent)
  {
    if (price < 0)
    {
      throw new ArgumentOutOfRangeException("price");
    }
    if (ratePercent < 0 || ratePercent > 100)
    {
      throw new ArgumentOutOfRangeException("ratePercent");
    }
    return price + (price * ratePercent / 100);
  }

  public static void Main(string[] args)
  {
    int r;
    bool ok = TryDivide(10, 0, out r);
    Console.WriteLine("TryDivide ok=" + ok + " result=" + r);

    try
    {
      int total = PriceWithTax(100, 18);
      Console.WriteLine("Total=" + total);
    }
    catch (Exception ex)
    {
      Console.WriteLine("Error: " + ex.Message);
    }
  }
}

break и continue

Проверка: в чём разница между break и continue в цикле?

Итоги

Итоги: используйте break для выхода, а continue — для пропуска итерации; избегайте goto; храните переменные в правильной области видимости; предпочитайте защитные проверки для ожидаемого некорректного ввода, а исключения — для исключительных состояний.

Часто задаваемые вопросы

Урок «break/continue; goto (избегайте); область действия; исключения и проверки условий» бесплатный?

Да — полный текст урока «break/continue; goto (избегайте); область действия; исключения и проверки условий» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс C# Academy, подпишись на CoddyKit PRO. Курс C# Academy содержит 3 уроков всего.

Чему я научусь в уроке «break/continue; goto (избегайте); область действия; исключения и проверки условий»?

Правильно используйте break и continue, разберитесь, почему goto не рекомендуется, безопасно применяйте правила областей действия и выбирайте между исключениями и проверками условий. Ты практикуешь C# Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать C# Academy?

Предыдущий опыт не требуется. C# Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 3.

Сколько времени занимает урок «break/continue; goto (избегайте); область действия; исключения и проверки условий»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке C# Academy?

Да. Каждый урок C# Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. if/else, классический switch и циклы: for, while, do, foreach
  2. break/continue; goto (избегайте); область действия; исключения и проверки условий
  3. Простая диагностика: исключения и проверки условий
← Назад к C# Academy