Menu
Coddy logo textTech

Break and Continue

Часть раздела Логика и управление потоком путешествия по C# на Coddy — урок 21 из 66.

В C# операторы break и continue дают вам больший контроль над выполнением цикла.

Оператор break

Оператор break немедленно прерывает выполнение цикла:

for (int i = 1; i <= 10; i++)
{
    if (i == 5)
    {
        break; // Выйти из цикла, когда i равно 5
    }
    Console.WriteLine(i);
}

После выполнения приведенного выше кода вывод будет следующим:

1
2
3
4

Цикл останавливается, как только i равно 5, и выполнение продолжается с кода после цикла.

Оператор continue

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

for (int i = 1; i <= 5; i++)
{
    if (i == 3)
    {
        continue; // Пропустить остаток этой итерации
    }
    Console.WriteLine(i);
}

После выполнения приведенного выше кода вывод будет следующим:

1
2
4
5

Значение 3 не выводится на экран, потому что оператор continue пропускает Console.WriteLine(i) для этой итерации.

challenge icon

Задание

Легко

Напишите метод с именем ProcessNumbers, который принимает массив целых чисел в качестве параметра. Метод должен:

  1. Выводить все числа из массива
  2. Пропускать вывод отрицательных чисел (используйте continue)
  3. Останавливать обработку, если встречается число больше 100 (используйте break)
  4. Возвращать сумму всех чисел, которые были выведены

Попробуйте сами

using System;

public class Program
{
    public static int ProcessNumbers(int[] numbers)
    {
        // Напишите свой код здесь
        return 0;
    }
    
    public static void Main(string[] args)
    {
        // Читаем ввод от пользователя
        string input = Console.ReadLine();
        int[] numbers;
        
        if (string.IsNullOrEmpty(input))
        {
            // Пример массива для тестирования
            numbers = new int[] { 5, -3, 10, 15, -7, 105, 20 };
        }
        else
        {
            string[] parts = input.Split(',');
            numbers = new int[parts.Length];
            for (int i = 0; i < parts.Length; i++)
            {
                numbers[i] = int.Parse(parts[i].Trim());
            }
        }
        
        int sum = ProcessNumbers(numbers);
        Console.WriteLine("Sum: " + sum);
    }
}
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Логика и управление потоком