Команда продолжения цикла
Цикл foreach
Do
Цикл do- while
Цикл while
Цикл for
Операторы цикла
При решении многих задач некоторую последовательность действий приходится выполнять несколько раз. Такие повторяющиеся действия называются циклами и реализуются в программе с использованием операторов циклов.
В языке c# циклические вычисления реализуются с помощью операторов FOR, FOREACH, WHILE, DO-WHILE. Рассмотрим их в этом порядке.
В общем виде оператор FOR можно записать так:
for (счетчик= начальное_значение; условие; итератор)
{
//последовательность операторов
}
где счетчик − имя переменной-счетчика циклов;
условие – логическон выражение, которое проверяется перед каждой итерацией. Если ввыражение ложно, то цикл завершается;
итератор – выражение, вычисляемое после каждой итерации (обычно приращение значения счетчика цикла);
Оператор FOR удобно использовать, если надо выполнить некоторую последовательность действий несколько раз, причем число повторов заранее известно.
Пример. Найти сумму и произведение целых цисел от 1 до 10.
int s = 0;
int p = 1;
for (int i = 1; i <= 10; i++)
{
s = s + i;
p = p * i;
}
Цикл WHILE используется, когда надо проверить некоторое условие в начале цикла, а число повторов заранее неизвестно.
В общем виде оператор WHILE выглядит так:
while (условие)
{
//последовательность операторов
}
где условие − выражение логического типа.
Операторы, находящиеся между фигурными скобками, выполняются до тех пор, пока условие истинно (значение выражения условие равно TRUE).
Рассмотрим тот же самый пример, но с использованием цикла while.
int i=1;
int s = 0;
int p = 1;
while ( i <= 10)
{
s = s + i;
p =p* i;
i++;
}
Если условие нужно проверять в конце итерации, используется цикл do-while. В общем виде он выглядит так:
{
// последовательность операторов
} while (условие);
И опять наш пример, с использованием этого цикла.
int i=1;
int s = 0;
int p = 1;
do
{
s = s + i;
p = p * i;
i++;
} while (i <= 11);
Этот цикл используется при работе с массивами, о которых будет сказано далее. В общем виде он выглядит так:
Foreach ( переменная in массив)
{
// последовательность операторов
}
Работает этот цикл следующим образом. Пусть имеется некий массив данных. Переменная того же типа, что и элементы массива на каждой итерации принимает значение очередного элемента массива. Ниже приведены примеры использования этого цикла.
int[] array1 = {0, 1, 2, 3, 4, 5};
foreach (int n in array1)
{
System.Console.WriteLine(n.ToString());
}
// An array of strings
string[] array2 = {"hello", "world"};
foreach (string s in array2)
{
System.Console.WriteLine(s);
}
Оператор continue позволяет немедленно продолжить выполнение цикла, пропустив все оставшиеся операторы в теле цикла.
Пример. Выводятся результаты деления числа 5 на целые числа, лежащие в диапазоне от -5 до 5. Так как на ноль делить нельзя, это число пропускается.
for (int i = -5; i <= 5; i++)
{
if (i == 0) continue;
Console.WriteLine("{0} = {1}",i, 5 / i);
}