Используя C # (или VB.NET), какой цикл (для цикла или цикла do / while) следует использовать, когда требуется счетчик?
Имеет ли значение, если цикл должен повторяться только заданное количество раз или через заданный диапазон?
Сценарий A - цикл for
for (int iLoop = 0; iLoop < int.MaxValue; iLoop++)
{
//Maybe do work here
//Test criteria
if (Criteria)
{
//Exit the loop
break;
}
//Maybe do work here
}
Преимущества
- Счетчик объявлен как часть цикла
- Простота реализации диапазона счетчиков
Недостатки
- Должен использовать, если выйти из цикла
Сценарий B - цикл do / while
int iLoop = 0;
do
{
//Increment the counter
iLoop++;
//Do work here
} while (Criteria);
или
int iLoop = 0;
while (Criteria)
{
//Increment the counter
iLoop++;
//Do work here
}
Преимущества
- Выход из цикла является частью структуры цикла
- Выбор для оценки до или после блока цикла
Недостатки
- Нужно управлять счетчиком вручную