일부 코드를 포팅하고 있으며 코드에 Parallel.ForEach
오류가 continue
있습니다. 루프 에서 Parallel.ForEach
와 기능적으로 동등한 기능을 사용할 수 있습니까?continue
foreach
Parallel.ForEach(items, parallelOptions, item =>
{
if (!isTrue)
continue;
});
답변
return;
(본문은 각 항목에 대해 호출 된 기능 일뿐입니다)
답변
루프를 Parallel.Foreach 논리에 대한 호환 가능한 정의로 변환하면 명령문 본문을 람다로 만들었습니다. 이것은 병렬 함수에 의해 호출되는 동작입니다.
그래서, 교체 continue
로 return
, 그리고 함께 휴식 Stop()
또는 Break()
문.
답변
계속하려면 나머지 블록을 건너 뛰고 다음 항목으로 이동하십시오. 따라서 블록의 나머지 부분에 반대 조건을 적용하여 계속을 구현할 수 있습니다.
예를 들어 질문의 코드는 다음과 같이 다시 작성됩니다.
Parallel.ForEach(items, parallelOptions, item =>
{
//Skip an item by applying the opposite condition used for continue on all items until the end of the foreach
if (isTrue)
{
//Do what you want to do for all items
}
});