Вложенные циклы - C# (185821)
Формулировка задачи:
Добрый день .
Настал тот момент , когда необходимо спросить у знающих людей возможное решение моей проблемы.
Объясню суть и покажу код , надеюсь он имеет право на существование ибо я только начинаю вникать.
но мой код , если его так можно назвать упорно не работает , уже на стадии проверки прокси он чудит.
Что происходит.
Выполняется цикл первый раз , все хорошо , появляется сообщение "прокси не работает" , при i = 2 , код считает , что прокси работает , хотя веббраузер говорит мне обратное.
Затем я не могу выйти из внутреннего цикла и оператор goto не помогает , меня постоянно перебрасывает на условие
и появляется это сообщение , затем второе . и так далее , пока не закончится внутренний цикл.
Очень нуждаюсь в вашей помощи , может я где то упустил логическую цепочку , либо я совсем не верно делаю.
Заранее спасибо.
Суть:
Существует у меня файл с большим объемом прокси , подгружаю его вричбокс
, и сразу определяю количество строк , пусть это будетN
Кроме файла с проксями , существует так же файл с другими данными , которые я подгружаю вричбокс2
, и так же определяю сколько строк , пусть это будетP
Затем мне нужно взять каждый прокси из списка и подгрузить сайт , если сайт успешно загружен , выполнить уже второй цикл , выполнив 1 шаг во 2 цикле , мне необходимо выйти из внутреннего цикла и перейти к главному и взять по списку следующий прокси , сделать снова проверку. Вот , что у меня вышло из этого.Found: for (int i = 1; i <= N; i++) { //MessageBox.Show(i.ToString()); proxy = richTextBox2.Lines[i - 1]; port = (8080); Proxy.Set(new WebProxy(proxy, port)); wb.Navigate("https://2ip.ru/"); Thread.Sleep(3000); if (wb.ReadyState == WebBrowserReadyState.Uninitialized) { MessageBox.Show("прокси не работает"); goto Found; } else { MessageBox.Show("РАБОТАЕТ"); for (int z = 1; z <=P; z++) { Здесь выполнить мое действие и перейти к главному циклу , используя оператор goto. goto Found; }}}
if (wb.ReadyState == WebBrowserReadyState.Uninitialized) { MessageBox.Show("прокси не работает");
понимаю , что никому не интересна моя проблема и вникать нет никакого желания , ну может бывалые-хардовые кодеры знают , помогите пожалуйста.
Перефразирую вопрос , может не правильно понимаете , чего я хотел бы спросить.
Почему с помощью goto я не могу выйти из внутреннего цикла и перейти к главному.
Found: for (int i = 1; i <= N; i++) { //MessageBox.Show(i.ToString()); proxy = richTextBox2.Lines[i - 1]; port = (8080); Proxy.Set(new WebProxy(proxy, port)); wb.Navigate("https://2ip.ru/"); Thread.Sleep(3000); if (wb.ReadyState == WebBrowserReadyState.Uninitialized) { MessageBox.Show("прокси не работает"); goto Found; } else { MessageBox.Show("РАБОТАЕТ"); for (int z = 1; z <=P; z++) { Здесь выполнить мое действие и перейти к главному циклу , используя оператор goto. goto Found; }}}
Решение задачи: «Вложенные циклы»
textual
Листинг программы
Thread.Sleep(3000);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д