Ответ Джона Скита правильный и отличный, хотя я хотел бы привести пример для тех, кто не знаком с while
и do-while
в c #:
int i=0;
while(i<10)
{
Console.WriteLine("Number is {0}", i);
i++;
}
и
int i=0;
do
{
Console.WriteLine("Number is {0}", i);
i++;
}while(i<10)
выдаст оба:
Number is 0
Number is 1
Number is 2
Number is 3
Number is 4
Number is 5
Number is 6
Number is 7
Number is 8
Number is 9
как и следовало ожидать. Однако важно понимать, что цикл do-while всегда выполняет тело в первый раз, независимо от проверки. Это означает, что если мы изменим начальное значение i на 100, мы увидим очень разные результаты.
int i=100;
while(i<10)
{
Console.WriteLine("Number is {0}", i);
i++;
}
и
int i=100;
do
{
Console.WriteLine("Number is {0}", i);
i++;
}while(i<10)
Теперь цикл while фактически не генерирует вывод:
однако цикл do-while генерирует это:
Number is 100
несмотря на то, что он намного старше 10. Это из-за уникального поведения цикла do-while, который всегда запускается один раз в отличие от обычного цикла while.