답변:
루프를 Parallel.Foreach 논리에 대한 호환 가능한 정의로 변환하면 명령문 본문을 람다로 만들었습니다. 이것은 병렬 함수에 의해 호출되는 동작입니다.
그래서, 교체 continue
로 return
, 그리고 함께 휴식 Stop()
또는 Break()
문.
continue
않습니다.
계속하려면 나머지 블록을 건너 뛰고 다음 항목으로 이동하십시오. 따라서 블록의 나머지 부분에 반대 조건을 적용하여 계속을 구현할 수 있습니다.
예를 들어 질문의 코드는 다음과 같이 다시 작성됩니다.
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
}
});