Главная arrow Язык программирования C# arrow C# Полное руководство Герберт Шилдт arrow Циклы без тела C# Полное руководство Герберт Шилдт

Циклы без тела C# Полное руководство Герберт Шилдт

В C# допускается пустым тело цикла for или любого другого цикла, поскольку пустой оператор с точки зрения синтаксиса этого языка считается действительным. Циклы без тела нередко оказываются полезными. Например, в следующей программе цикл без тела служит для получения суммы чисел от 1 до 5.

// Тело цикла может быть пустым.

using System;

   class Empty3 {
      static void Main() {
         int i;
         int sum = 0;

         // получить сумму чисел от 1 до 5
     for(i = 1; i <= 5; sum += i++);

         Console.WriteLine("Сумма равна " + sum);
   }
}


Выполнение этой программы дает следующий результат:
Сумма равна 15
Обратите внимание на то, что процесс суммирования выполняется полностью в операторе цикла for, и для этого тело цикла не требуется. В этом цикле особое внимание обращает на себя итерационное выражение.
   sum += i++
Подобные операторы не должны вас смущать. Они часто встречаются в программах, профессионально написанных на С#, и становятся вполне понятными, если разобрать их по частям. Дословно приведенный выше оператор означает следующее: сложить со значением переменной sum результат суммирования значений переменных sum и i, а затем инкрементировать значение переменной i. Следовательно, данный оператор равнозначен следующей последовательности операторов:
   sum = sum + i;
   i++;