В 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 |