Есть ли эквивалент «продолжить» в Parallel.ForEach? - PullRequest
224 голосов
/ 22 сентября 2010

Я портирую некоторый код на Parallel.ForEach и получил ошибку с continue, которая у меня есть в коде. Есть ли что-то эквивалентное, что я могу использовать в Parallel.ForEach, функционально эквивалентном continue в foreach цикле?

Parallel.ForEach(items, parallelOptions, item =>
{
    if (!isTrue)
        continue;
});

Ответы [ 2 ]

368 голосов
/ 22 сентября 2010
return;

(тело - просто функция, вызываемая для каждого элемента)

20 голосов
/ 01 декабря 2014

Когда вы преобразовали свой цикл в совместимое определение для логики Parallel.Foreach, вы в конечном итоге сделали тело оператора лямбда-выражением.Это действие, которое вызывается функцией Parallel.

Итак, замените continue на return и разбейте на Stop() или Break() операторы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...