В C# допускается оставлять пустым тело цикла for или любого другого цикла, поскольку пустой оператор с точки зрения синтаксиса этого языка считается действительным. Циклы без тела нередко оказываются полезными. Например, в следующей программе цикл без тела служит для получения суммы чисел от 1 до 5.
// Тело цикла может быть пустым, using System;
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++Подобные операторы не должны вас смущать. Они часто встречаются в программах, профессионально написанных на C#, и становятся вполне понятными, если разобрать их по частям. Дословно приведенный выше оператор означает следующее: сложить со значением переменной sum результат суммирования значений переменных sum и i, а затем инкрементировать значение переменной i. Следовательно, данный оператор равнозначен следующей последовательности операторов.
sum = sum + i; i++;| Бесконечный цикл | Объявление управляющих переменных в цикле for |