Циклы в языке C#.

В любом языке программирования имеются итерационные конструкции (управляющие конструкции), использующиеся для повторения блоков кода до тех пор, пока не будет выполнено какое-то условие завершения. В языке C# поддерживаются четыре таких конструкции: for, foreach, while и do/while. Приступим к их изучению.

Цикл for

Данный цикл хорошо подойдёт, если нужно выполнить какой-то блок кода фиксированное количество раз. Оператор for позволяет указать, сколько раз должен повторяться блок кода и задать условие завершения цикла. Синтаксис оператора:

for ([инициализация счетчика]; [условие]; [изменение счетчика])
{
    // действия
}

Рассмотрим небольшой пример:

for (int i = 0; i < 9; i++)
{
    Console.Write("{0}", i);
}
Console.ReadKey();

// Будет выведена строка: 012345678.

Первая часть объявления цикла - int i = 0 - создает и инициализирует счетчик i. Счетчик необязательно должен представлять тип int. Это может быть и другой числовой тип. И перед выполнением цикла его значение будет равно 0. В данном случае это то же самое, что и объявление переменной.

Вторая часть - условие, при котором будет выполняться цикл. Пока условное выражение возвращает true, будет выполняться цикл. В данном случае цикл будет выполняться, пока счетчик i не достигнет 9. И третья часть - приращение счетчика на единицу. Также счётчик можно и уменьшить (i--).

Цикл foreach

Цикл foreach удобно использовать при проходе по всем элементам массива или коллекции без проверки верхнего предела. Рассмотрим пример прохода по массиву целых чисел с использованием цикла foreach:

int[] digits = { 1, 2, 3, 4};
foreach (int i in digits)
   Console.WriteLine(i);

Сначала в foreach указывается переменная, которая должна быть такого же типа, что и элементы массива. В эту переменную будет получен элемент массива для его дальнейшей обработки (в данном случае обработка заключается в выводе на консоль). После ключевого слова in задается название переменной массива.

Цикл while

Цикл while (цикл с предусловием) проверяет истинность некоторого условия, и если условие истинно, то код цикла выполняется. Синтаксис:

while (логическое выражение)
  оператор;

Сначала цикл вычисляет значение логического выражения. Если оно истинно, происходит итерация цикла (выполняется тело цикла), иначе происходит выход из цикла и выполнение следующего за циклом оператора. Рассмотрим пример:

int i=0;
while(i++ < 10) Console.Write("{0}", i);
Console.ReadKey();

// Будет выведена строка: 12345678910

Цикл do/while

В отличии от цикла while в форме цикла do/while сначала выполняются операторы (тело цикла), а затем уже проверяется условие. Если условие истинно, то начинается следующая итерация. Тело цикла будет выполнено как минимум один раз. Синтаксис цикла:

do
 {
 // тело цикла
 }
while (условие);

Рассмотрим предыдущий пример:

int i = 1;
do
 Console.Write(i);
while (i++ < 10);
Console.ReadKey();

// Будет выведена строка: 12345678910

Операторы continue и break

Иногда возникает ситуация, когда требуется выйти из цикла, не дожидаясь его завершения. В этом случае можно воспользоваться оператором break. Например:

for (int i = 0; i < 10; i++)
{
    if (i == 5)
        break;
    Console.WriteLine(i);
}
Console.ReadKey();

В условии цикла сказано, что цикл будет выполняться, пока счетчик i не достигнет значения 10, в реальности цикл сработает 5 раз. Так как при достижении счетчиком i значения 5, сработает оператор break, и цикл завершится.

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

for (int i = 0; i < 10; i++)
{
    if (i == 5)
        continue;
    Console.WriteLine(i);
}
Console.ReadKey();

В этом случае цикл, когда дойдет до числа 5, которое не удовлетворяет условию проверки, просто пропустит это число и перейдет к следующей итерации.

 
Поделиться в facebook
Facebook
Поделиться в twitter
Twitter
Поделиться в vk
VK
Поделиться в google
Google+
Поделиться в email
Email

Один ответ к “Циклы в языке C#.”

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Группа в VK

Помощь проекту

Обнаружили опечатку?

Сообщите нам об этом, выделите текст с ошибкой и нажмите Ctrl+Enter, будем очень признательны!

Свежие статьи

Похожие статьи

Entity Framework

Entity Framework

ADO.NET Entity Framework (EF) — объектно-ориентированная технология доступа к данным, является object-relational mapping (ORM) решением для .NET Framework от Microsoft. Предоставляет возможность взаимодействия с объектами

 
Работа с базой данных в C#

Работа с базой данных в C#

В данной статье мы подробно поговорим о разработке небольшого приложения с помощью Visual Studio базы данных и языка C#. Советуем поэтапно выполнять все инструкции из

 
Создание сканера портов

Создание сканера портов

В прошлой статье “Сокеты в C#” мы познакомились с сокетами и подробно рассмотрели классы для работы с ними. В этой статье мы разработаем простое приложение

 
Сокеты в С#

Сокеты в С#

Сокет – это один конец двухстороннего канала связи между двумя программами, работающими в сети. Используя два сокета, можно передавать данные между разными процессами (локальными или

 

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: