반응형
C #에서 foreach 루프 종료
foreach (var name in parent.names)
{
if name.lastname == null)
{
Violated = true;
this.message = "lastname reqd";
}
if (!Violated)
{
Violated = !(name.firstname == null) ? false : true;
if (ruleViolated)
this.message = "firstname reqd";
}
}
위반이 사실이면 foreach
즉시 루프 에서 빠져 나가고 싶습니다 . 어떻게하나요?
사용하다 break
;
편집하다:
귀하의 질문과 관련이 없으며 귀하의 코드에서 다음 줄을 봅니다.
Violated = !(name.firstname == null) ? false : true;
이 줄에서는 부울 값을 사용 (name.firstname == null)
합니다. 그런 다음 !
연산자를 적용합니다 . 그런 다음 값이 true이면 Violated를 false로 설정합니다. 그렇지 않으면 사실입니다. 따라서 기본적으로 Violated는 원래 표현식과 동일한 값으로 설정됩니다 (name.firstname == null)
. 다음과 같이 사용하지 마십시오.
Violated = (name.firstname == null);
다음 문장을 사용하십시오.
break;
break
키워드를 사용하십시오 .
이 코드를 보면 루프에서 빨리 빠져 나갈 수 있습니다!
foreach (var name in parent.names)
{
if (name.lastname == null)
{
Violated = true;
this.message = "lastname reqd";
break;
}
else if (name.firstname == null)
{
Violated = true;
this.message = "firstname reqd";
break;
}
}
테스트 중에 중단 후 foreach 루프가 루프를 벗어나지 않고 루프가 시작되는 것으로 나타났습니다. 그래서 나는 foreach를 for로 바꾸었고,이 경우에는 break가 올바르게 작동합니다. break 프로그램 흐름이 루프에서 나간 후에.
참고 URL : https://stackoverflow.com/questions/456276/exiting-foreach-loop-in-c-sharp
반응형
'program tip' 카테고리의 다른 글
수정 : 글로벌 요소 'configuration'이 이미 선언되었습니다. (0) | 2020.10.25 |
---|---|
Storyboard에서 UIButton BorderColor 변경 (0) | 2020.10.25 |
0과 1 사이의 신속한 임의 부동 (0) | 2020.10.25 |
Swift 사전을 콘솔에 예쁘게 인쇄하는 방법이 있습니까? (0) | 2020.10.25 |
Android 열 '_id'가 존재하지 않습니까? (0) | 2020.10.25 |