Страницы

Поиск по вопросам

среда, 11 декабря 2019 г.

Как в c# выйти из двойного цикла?

#c_sharp #циклы


Есть двойной цикл for

for (int i = 0; i < 10; i++)
{
   for (int l = 0; l < 20; l++)
   {
       if (....)
       {
           ....
       }
       else
       {
          break;
       }
   }
}


Из второго цикла я выхожу, но как потом сразу выйти из первого цикла ?
    


Ответы

Ответ 1



Для выхода из вложенных циклов со сложной структурой может применяться оператор goto for (int i = 0; i < 10; i++) { for (int l = 0; l < 20; l++) { if (....) { .... } else { goto LoopEnd; } } } LoopEnd: ... Альтернативным решением может стать помещение основного цикла в функцию, и применение оператора return public void Loop() { for (int i = 0; i < 10; i++) { for (int l = 0; l < 20; l++) { if (....) { .... } else { return; } } } }

Ответ 2



Можно использовать дополнительный флаг: var flag = true; for(int i=0; flag && i<10; i++) { for (int l=0; flag && l<20; l++) { if (....) { .... } else { flag = false; break; } } }

Ответ 3



Еще один вариант: for (int i = 0; i < 10; i++) { for (int l = 0; l < 20; l++) { if (false) { System.Console.WriteLine(":)"); } else { i = Int32.MaxValue - 1; break; } } }

Комментариев нет:

Отправить комментарий