Вложенные циклы - 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);