[C#] 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"));

당신이 원하는 것은 “ok”를 확인하고 대답을 반환하는 것이라면 그것은 트릭을 할 것입니다.