Операторы цикла в C# (си шарп)

Операторы цикла в C# (си шарп) нужны, чтобы несколько раз подряд выполнить один и тот же фрагмент кода, и при достижении конечного условия выйти из цикла и перейти к следующему коду. Это бывает нужно, например, для работы с массивами, коллекциями, результатами запросов и т.п. Одним словом – с наборами данных.


Понимание циклов удобнее начать с распространенного цикла for. Разберем на примере:
for (i=0;i<5;i++)
Как видим, условие состоит из трех позиций, отделяемых точкой с запятой:

i=0 начальное положение, индекс первого просматриваемого элемента
i<5 условие выхода из цикла
i++ шаг движения по циклу. Если бы, например, на этом месте стояла запись i=i+2, цикл двигался бы не по каждому элементу, а через один.

Тело цикла (повторяющийся код) записывается в скобках вида { }. Следующий код последовательно выведет на экран индексы i, умноженные на два. Увидим числа 0,2,4,6,8:
int i;
for (i = 0; i < 5; i++)
{
MessageBox.Show((i * 2).ToString());
}

Конвертация выражения в текстовый формат (ToString) здесь необходима, так как MessageBox умеет выводить только текстовые данные.
Познакомимся со вторым видом цикла — do-while. Здесь в качестве условия цикла записывается не три, а одно выражение, условие выхода из цикла. Условие перехода будет находится в теле цикла. Если забыть его указать, при исполнении кода программа зациклится на одном элементе, и будет бесконечно показывать его. У нас условие перехода есть (i++):
int i=0;
do
{
MessageBox.Show((i * 2).ToString());
i++;
}
while (i <5);

Похожую на рассмотренный цикл структуру имеет цикл while – «цикл с предпроверкой».
int i=0;
while (i <5)
{
MessageBox.Show((i * 2).ToString());
i++;
}

Практически то же самое, только без оператора do, и проверка осуществляется не перед переходом к следующему шагу, а до выполнения нового шага.
Несколько другой подход нужен при использовании цикла foreach в C# (си шарп). При его описании вообще не требуется задавать условие перехода (оно же — шаг). Мы записываем условие, которое будет выполняться для каждого (foreach) элемента в рассматриваемом наборе данных. К примеру, выведем на экран все значения элементов массива mas:
int[] mas = new int[] { 0, 1, 2, 3, 5};
foreach (int i in mas)
{
MessageBox.Show(i.ToString());
}

Для простоты понимания мысленно переведите выражение foreach (int i in mas)на человеческий язык: «для каждого элемента i в массиве mas». Нужно обратить внимание, что i здесь – не счетчик, а текущий элемент массива. Поэтому в теле цикла используется не mas, как в других видах циклов, а i.
Если возникла ситуация, при которой нужно прекратить выполнение цикла, используем оператор прерывания break. В нашем случае прервем цикл, когда значение индекса станет больше двух:
int i;
for (i = 0; i < 5; i++)
{
MessageBox.Show((i * 2).ToString());
if (i > 2)
{
MessageBox.Show(«Выходим из цикла»);
break;
}
}

. проверка взаимной простоты С шарп
. си шарп циклы
Комментирование и размещение ссылок запрещено.