Parallel.For - прерывание цикла

inotoxic

Client
Регистрация
20.04.2015
Сообщения
354
Благодарностей
162
Баллы
43
Имеется код параллельного цикла

Код:
System.Threading.Tasks.Parallel.For(0, count, x => {
 
Код GET запроса на проверку прокси

  if (!Regex.Match(content, "^$|blocked|заблокирован|Access Denied|403 Forbidden|Активность с вашего IP-адреса|").Success) //проверка блокировок
  {
    Good.Add(proxy);// записываем живую проксю в конец списка*
    project.Variables["proxy"].Value = proxy;//вернули прокси в переменную
    project.Variables["chekproxy"].Value = "True";
 
    .... что здесь правильно прописать для остановки цикла при срабатывании условия в if
    если указать
    break;
    получаю ошибку
    "Отсутствует внешняя точка для выхода из цикла или продолжения"
 
    усли указать
    return proxy;
    "Не удается преобразовать "лямбда-выражение" в тип делегата "System.Action<int>", так как некоторые типы возвращаемого значения в блоке не являются неявно преобразуемыми в тип возвращаемого значения делегата"
 
  }

//project.SendInfoToLog("", proxy+" Плохая прокси", true);
  });
сделал через вызов ошибки
throw new Exception("Найден прокси");
но это как-то не правильно

Как правильно выходить из цикла при срабатывании условия?
 

Adigen

Client
Регистрация
28.07.2014
Сообщения
825
Благодарностей
651
Баллы
93
Последнее редактирование:
  • Спасибо
Реакции: inotoxic

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)