반응형
C #에서 foreach 루프를 벗어나려면 어떻게해야합니까?
foreach
요소 중 하나가 요구 사항을 충족하는 경우 C #에서 루프를 해제하려면 어떻게해야 합니까?
예를 들면 다음과 같습니다.
foreach(string s in sList){
if(s.equals("ok")){
//jump foreach loop and return true
}
//no item equals to "ok" then return false
}
foreach (string s in sList)
{
if (s.equals("ok"))
return true;
}
return false;
또는 항목을 찾은 후 다른 작업을 수행해야하는 경우 :
bool found = false;
foreach (string s in sList)
{
if (s.equals("ok"))
{
found = true;
break; // get out of the loop
}
}
// do stuff
return found;
사용 break;
하면 foreach 루프가 종료됩니다.
LINQ 경로를 사용하면 명시적인 루프를 피할 수 있습니다.
sList.Any(s => s.Equals("ok"))
foreach (var item in listOfItems) {
if (condition_is_met)
// Any processing you may need to complete here...
break; // return true; also works if you're looking to
// completely exit this function.
}
트릭을해야합니다. break 문은 루프 실행을 끝내고 return 문은 분명히 전체 함수를 종료합니다. 당신의 질문에서 판단하면 당신은 그 답을 true로 사용할 수 있습니다; 성명서.
break
가장 가까운 엔 클로징 루프에서 점프하는 것을 사용 하거나 직접return true
'break'문을 사용하십시오. 귀하의 질문에 대한 답변이 문자 그대로 귀하의 질문에 있다는 것이 유머러스합니다. 그건 그렇고, 간단한 Google 검색으로 답을 얻을 수 있습니다.
어때요?
return(sList.Contains("ok"));
"확인"을 확인하고 답변을 반환하는 것만으로도 트릭을 수행해야합니다 ...
귀하의 질문에 대한 직접적인 답변은 아니지만 원하는 것을 수행하는 훨씬 쉬운 방법이 있습니다. .NET 3.5 이상을 사용하는 경우 최소한. Enumerable 이라고합니다.
bool found = sList.Contains("ok");
foreach(string s in sList)
{
if(s.equals("ok"))
{
return true;
}
}
return false;
루프에서 바로 반환하십시오.
foreach(string s in sList){
if(s.equals("ok")){
return true;
}
}
// if you haven't returned by now, no items are "ok"
return false;
또는 사용 break
:
bool isOk = false;
foreach(string s in sList){
if(s.equals("ok")){
isOk = true;
break; // jump out of the loop
}
}
if(isOk)
{
// do something
}
그러나 귀하의 경우 다음과 같이하는 것이 좋습니다.
if(sList.Contains("ok"))
{
// at least one element is "ok"
}
else
{
// no elements are "ok"
}
var ind=0;
foreach(string s in sList){
if(s.equals("ok")){
return true;
}
ind++;
}
if (ind==sList.length){
return false;
}
참고 URL : https://stackoverflow.com/questions/6509911/how-do-i-jump-out-of-a-foreach-loop-in-c
반응형
'IT박스' 카테고리의 다른 글
iOS 9 Xcode 7-애플리케이션이 상단과 하단에 검은 색 막대로 나타납니다 (0) | 2020.07.23 |
---|---|
WPF 바인딩에서 값을 null로 설정 (0) | 2020.07.23 |
프로그래밍 방식으로 탐색 모음의 UIBarButtonItem? (0) | 2020.07.22 |
TextView.setTextSize가 비정상적으로 작동 함-다른 화면에 대해 textview의 텍스트 크기를 동적으로 설정하는 방법 (0) | 2020.07.22 |
다음 클래스를 찾을 수 없습니다 : android.support.v7.internal.app.WindowDecorActionBar (0) | 2020.07.22 |