Циклы Flashcards
Перепишите for с помощью цикла while: for (var i = 0; i < 10; i += 2) {}
{ var i = 0; while(i < 10) { i += 2; } }
Что может находиться в 1-ой секции for?
Декларация либо присваивание значений нескольким переменным одного типа
Что может находиться в 2-ой секции for?
Условие: любое выражение, возвращающее bool
Что может находиться в 3-ей секции for?
Выражения, разделенные запятой. Например, использование операторов или вызов методов
Когда целесообразно использовать for, а когда foreach для перебора всех элементов коллекции?
for если нужен индекс. Иначе foreach
Что делает break в цикле?
Выходит из текущего цикла. Только из одного.
Что делает continue в цикле?
Переходит к следующей итерации текущего цикла.
В чем ошибка? Как исправить?
for (var i = 0; i < 10; i++);
Console.WriteLine(i);
Точка с запятой в конце первой строчки приводит к тому, что цикл пустой.
for (var i = 0; i < 10; i++)
Console.WriteLine(i);
Как выйти из двойного цикла? for (var i = 0; i < 10; i++) { for (var j = 0; j < 5; j++) { var c = i + j; //отсюда, если c == 7 } }
Последовательно использовать break за счет дополнительного флага:
for (var i = 0; i < 10; i++) { var goOut = false; for (var j = 0; j < 5; j++) { var c = i + j; if (c == 7) { goOut = true; break; } } if (goOut) break; }
Как сделать бесконечный цикл на for?
for ( ; ; );
for ( ; ; ) { }