Добавить в корзинуПозвонить
Найти в Дзене

Циклы в C#

Циклы позволяют многократно выполнять блок кода, пока выполняется определенное условие. Используется, когда заранее известно количество итераций. Синтаксис: Примеры: Практические примеры: Выполняется, пока условие истинно. Проверка условия ДО выполнения тела. Синтаксис: Примеры: Выполняется, пока условие истинно. Проверка условия ПОСЛЕ выполнения тела (как минимум одна итерация). Синтаксис: Примеры: Сравнение while и do-while: Используется для перебора коллекций (массивы, списки, строки и т.д.). Синтаксис: Примеры: Цикл foreach в C# не позволяет изменять значения элементов массива. int ints = { 1, 2, 3 };
foreach (int x in ints)
{
x = 4; // Ошибка: Cannot assign to 'x' because it is a 'foreach iteration variable'
} Используйте цикл for для изменения элементов массива. break - немедленный выход из цикла continue - переход к следующей итерации Пример 1: Игра "Угадай число" Пример 2: Обработка массива Пример 3: Фибоначчи
Оглавление

Циклы позволяют многократно выполнять блок кода, пока выполняется определенное условие.

1. Цикл for

Используется, когда заранее известно количество итераций.

Синтаксис:

Запоминаем
Запоминаем

Компоненты:

  • Инициализация - выполняется один раз перед началом цикла
  • Условие - проверяется перед каждой итерацией (если true - цикл продолжается)
  • Итерация - выполняется после каждой итерации

Примеры:

Это самый обычный цикл.
Это самый обычный цикл.
Это тоже обычный цикл, но с нужными условиями для программы
Это тоже обычный цикл, но с нужными условиями для программы
Так тоже можно, но не нужно. Попробуйте.
Так тоже можно, но не нужно. Попробуйте.

Практические примеры:

-6
-7

2. Цикл while

Выполняется, пока условие истинно. Проверка условия ДО выполнения тела.

Синтаксис:

Запоминаем
Запоминаем

Примеры:

Это самый обычный цикл.
Это самый обычный цикл.
Пример чаще всего применимого цикла while с условием true или false от сравнения с каким-то значением
Пример чаще всего применимого цикла while с условием true или false от сравнения с каким-то значением
-11

3. Цикл do-while

Выполняется, пока условие истинно. Проверка условия ПОСЛЕ выполнения тела (как минимум одна итерация).

Синтаксис:

Запоминаем
Запоминаем

Примеры:

Правда похоже на цикл for
Правда похоже на цикл for
Пытаемся ввести пароль столько раз пока не выполним условие
Пытаемся ввести пароль столько раз пока не выполним условие

Сравнение while и do-while:

-15

4. Цикл foreach

Используется для перебора коллекций (массивы, списки, строки и т.д.).

Синтаксис:

Запоминайте
Запоминайте

Примеры:

Ваш любимый цикл
Ваш любимый цикл
Мы любим переберать словари
Мы любим переберать словари

Цикл foreach в C# не позволяет изменять значения элементов массива.

int ints = { 1, 2, 3 };
foreach (int x in ints)
{
x = 4; // Ошибка: Cannot assign to 'x' because it is a 'foreach iteration variable'
}

Используйте цикл for для изменения элементов массива.

5. Управление циклами: break и continue

break - немедленный выход из цикла

Нарвался на break значет пошел вон из цикла
Нарвался на break значет пошел вон из цикла

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

Чаще наоборот но можно и continue
Чаще наоборот но можно и continue

6. Вложенные циклы

-21
-22
-23

7. Сравнение циклов

-24

8. Практические примеры

Пример 1: Игра "Угадай число"

-25

Пример 2: Обработка массива

-26

Пример 3: Фибоначчи

Числа Фибоначчи — это последовательность чисел, в которой каждое последующее число равно сумме двух предыдущих.
Числа Фибоначчи — это последовательность чисел, в которой каждое последующее число равно сумме двух предыдущих.

9. Рекомендации

  1. Избегайте бесконечных циклов - всегда гарантируйте изменение условия
  2. Используйте foreach для перебора коллекций, когда не нужен индекс
  3. Не изменяйте коллекцию внутри foreach (это вызовет исключение)
  4. Минимизируйте вложенность - глубоко вложенные циклы трудно читать
  5. Используйте break осознанно - иногда лучше вынести условие в заголовок
  6. Именуйте счетчики осмысленно - i, j, k для вложенных циклов
Иногда всеже нужно вложеность и не одна внутри цикла.
Иногда всеже нужно вложеность и не одна внутри цикла.