반응형
C #에서 한 번에 여러 루프를 중단하는 방법은 무엇입니까?
중첩 된 루프가 있고 모든 루프를 한 번에 중단하려면 어떻게해야합니까?
while (true) {
// ...
while (shouldCont) {
// ...
while (shouldGo) {
// ...
if (timeToStop) {
break; // Break out of everything?
}
}
}
}
PHP에서 break이탈 할 루프 수에 대한 인수를받습니다. 이와 같은 작업을 C #에서 수행 할 수 있습니까?
뭔가 끔찍한 건 goto어때?
// In the innermost loop
goto BREAK
// ...
BREAK: break; break; break;
중첩 된 루프를 함수로 추출한 다음 return을 사용하여 중단하지 않고 어디에서나 루프를 벗어날 수 있습니다.
다른 제어 플래그를 도입하고 아래와 같이 모든 중첩 while 조건에 넣으십시오. 또한 while (true) 조건을 해당 조건으로 바꿉니다.
bool keepLooping = true;
while (keepLooping) {
// ...
while (shouldCont && keepLooping) {
// ...
while (shouldGo && keepLooping) {
// ...
if (timeToStop) {
keepLooping = false;
break; // break out of everything?
}
}
}
}
고토는 학대받을 때만 끔찍합니다. 일부 중첩의 가장 안쪽 루프에서 벗어나려면 허용됩니다. 하지만 ... 애초에 왜 그렇게 많은 중첩이 있는지 물어봐야합니다.
짧은 대답 : 아니요.
전체 방법에서 벗어나려면 아래 코드를 사용하십시오. 메서드를 벗어나지 않고 메서드 내에서 일련의 루프 만 중단하려는 경우 이미 게시 된 답변 중 하나가 작업을 수행합니다.
if (TimeToStop)
{
return;
}
참고 URL : https://stackoverflow.com/questions/2339142/how-to-break-out-of-multiple-loops-at-once-in-c
반응형
'IT TIP' 카테고리의 다른 글
| iOS 프로젝트에서 Pods-resources.sh 권한이 거부되었습니다. (0) | 2020.11.22 |
|---|---|
| jquery에서 함수를 실행하는 방법 (0) | 2020.11.22 |
| 쉘 스크립트를 전역으로 만드는 방법은 무엇입니까? (0) | 2020.11.22 |
| 블루투스가 프로그래밍 방식으로 활성화되었는지 확인하는 방법은 무엇입니까? (0) | 2020.11.22 |
| 내 앱의 Android 알림 설정에 연결하는 방법이 있나요? (0) | 2020.11.22 |