Вложенные циклы - C# (185821)

Узнай цену своей работы

Формулировка задачи:

Добрый день . Настал тот момент , когда необходимо спросить у знающих людей возможное решение моей проблемы. Объясню суть и покажу код , надеюсь он имеет право на существование ибо я только начинаю вникать.

Суть:

Существует у меня файл с большим объемом прокси , подгружаю его в

ричбокс

, и сразу определяю количество строк , пусть это будет

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;
                      }}}
но мой код , если его так можно назвать упорно не работает , уже на стадии проверки прокси он чудит. Что происходит. Выполняется цикл первый раз , все хорошо , появляется сообщение "прокси не работает" , при i = 2 , код считает , что прокси работает , хотя веббраузер говорит мне обратное. Затем я не могу выйти из внутреннего цикла и оператор goto не помогает , меня постоянно перебрасывает на условие
 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);

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 3.455 из 5
Похожие ответы