Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.84/25: Рейтинг темы: голосов - 25, средняя оценка - 4.84
4 / 4 / 0
Регистрация: 16.02.2019
Сообщений: 115

Выход из бесконечного цикла, не выходя из него

21.02.2019, 17:13. Показов 4963. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. У меня появился такой вопрос:
Я написал бесконечный цикл, но проблема в том, что код, написанный после него не выполняется. Как не выходя из цикла выполнить этот код?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
21.02.2019, 17:13
Ответы с готовыми решениями:

Выход из бесконечного цикла
Помогите, пожалуйста, нужно выполнять цикл до тех пор, пока в консоли ничего не введут(то есть просто нажмут Enter). Как это сделать? ...

Выход из бесконечного цикла
Сегодня как дурачок создаю сотую тему, но все же прошу помощи. Есть программа, которая решает вот эту задачу . Столкнулся с такой...

Выход из бесконечного цикла
я начинаю изучать PHP, задача такая: есть бесконечный цикл отправки POST запроса как сделать чтоб при нажатии к примеру кнопки выход с...

13
3566 / 2507 / 1174
Регистрация: 14.08.2016
Сообщений: 8,219
21.02.2019, 17:34
в такой ситуации, запустить в отдельном потоке... а зачем такое вообще понадобилось?
0
Эксперт .NET
 Аватар для kolorotur
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
21.02.2019, 18:11
Цитата Сообщение от Clordrin Посмотреть сообщение
Как не выходя из цикла выполнить этот код?
Вынести код в отдельный метод и вызывать его из цикла.
0
4 / 4 / 0
Регистрация: 16.02.2019
Сообщений: 115
22.02.2019, 12:12  [ТС]
Не работает. Можете привести пример? Возможно, я что-то неверно сделал.
0
Эксперт .NET
 Аватар для Usaga
14098 / 9315 / 1349
Регистрация: 21.01.2016
Сообщений: 34,991
22.02.2019, 12:30
Цитата Сообщение от Clordrin Посмотреть сообщение
Не работает.
Что не работает? Неизвестно какое решение? Приведите код, который у вас не работает.
0
Фрилансер
805 / 312 / 148
Регистрация: 13.02.2019
Сообщений: 1,071
22.02.2019, 13:04
Цитата Сообщение от Clordrin Посмотреть сообщение
Можете привести пример?
1.
Цитата Сообщение от Diamante Посмотреть сообщение
запустить в отдельном потоке
1.1 С использованием потока
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
            bool work = true;
            Thread t = new Thread(() =>
            {
                while (work)
                {
                    Делаем что то в цикле
                }
            });
            t.Start();
 
            //Делаем что то в основном потоке 
 
            work = false; // Завершаем цикл
1.2 С использованием асинхронности
C#
1
2
3
4
5
6
7
8
9
10
11
            bool work = true;
            Task.Run(() => { 
                while (work)
                {
                    //Делаем что то в цикле
                }
            });
 
            //Делаем что то в основном потоке 
 
            work = false; // Завершаем цикл
2.
Цитата Сообщение от kolorotur Посмотреть сообщение
Вынести код в отдельный метод и вызывать его из цикла.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
        static bool isRunning = false; // Без этой переменной метод будет выполняться каждую итерацию цикла
        static void Foo()
        {
            //Делаем что то
            isRunning = true;
        }
        static void Main(string[] args)
        {
            while (true)
            {
                if (!isRunning)
                    Foo();
                // Делаем что то в цикле
            }
        }
0
4 / 4 / 0
Регистрация: 16.02.2019
Сообщений: 115
22.02.2019, 17:52  [ТС]
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
string num = Environment.UserName;
 
             bool tryAgain = true;
             while (tryAgain)
             {
                 try
                 {
                     for (;;)
 
                     {
                         for (int i = 2; i < 6; i++)
                         {
 
 
 
 
 
                             File.WriteAllText(@"C:\Users\" + num + @"\Desktop\" + i + @"test.txt", "11000000000111111111111111111000000011000000000111111" +
                                                                                                   "11111111111100000000011000000000111111111111111111000000000001100000000" +
                                                                                                   "011111111111111111100110000000001111111111111" +
                                                                                                   "11000000000111111111111111111000000000111110000000000000000");
 
                         } 
 
                     }
                 }
                 catch
                 {
 
                 }
             }
Вот мой код. После него нельзя ничего добавлять, хотя мне это очень нужно.
0
Фрилансер
805 / 312 / 148
Регистрация: 13.02.2019
Сообщений: 1,071
22.02.2019, 18:29
Цитата Сообщение от Clordrin Посмотреть сообщение
хотя мне это очень нужно
Вам 3 варианта написали как можно сделать...

Цитата Сообщение от Clordrin Посмотреть сообщение
C#
1
2
3
4
5
6
7
while (tryAgain) 
{ 
    try 
    { 
        for (;;) 
        { 
            for (int i = 2; i < 6; i++)
Это шедеврально! ))) Стесняюсь спросить, а зачем у Вас один бесконечный цикл вложен в другой? )))
0
 Аватар для Рядовой
1524 / 914 / 329
Регистрация: 17.05.2015
Сообщений: 3,438
22.02.2019, 21:17
Цитата Сообщение от asn31337 Посмотреть сообщение
зачем у Вас один бесконечный цикл вложен в другой? )))
чтоб наверняка был бесконечный
1
Эксперт .NET
 Аватар для Usaga
14098 / 9315 / 1349
Регистрация: 21.01.2016
Сообщений: 34,991
23.02.2019, 05:29
Ага, ещё и перехват исключений, чтобы бесконечность цикла не пошатнулась))

Clordrin, вы нормальным языком можете объяснить, что хотите сделать? Сейчас звучит как "нарисовать циркулем красный квадрат зелёного цвета". Больше похоже (но это не точно, просто догадка), что вам код в разных потоках исполнять надо. Это так?
0
4 / 4 / 0
Регистрация: 16.02.2019
Сообщений: 115
23.02.2019, 16:41  [ТС]
Хорошо. Постараюсь объяснить по-другому. Смотрите, у меня есть бесконечный цикл. Также, у меня есть какой-то код ПОД этим циклом. Но вся проблема в том, что этот код не будет выполняться, так как до него дело не дойдет, ведь цикл бесконечен. Вот я и задаюсь вопросом: как сделать так, чтобы цикл не прекращал работы, а код, который ПОД ним выполнялся.

Добавлено через 5 минут
Цитата Сообщение от asn31337 Посмотреть сообщение
Стесняюсь спросить, а зачем у Вас один бесконечный цикл вложен в другой?
Цикл for(int......) не бесконечен. Он лишь создает несколько файлов. Цикл for(; бесконечный, но при попытке удалить эти создающиеся файлы, может прерваться цикл. Дальше while и try. Они перехватывают эти ошибки, так, чтобы файлы было просто невозможно удалить. Попробуйте убрать какой-то из циклов и у себя протестировать эту программу, попытайтесь удалить файлы. У вас это выйдет. Но если вернуть все как есть, это невозможно, пока прога рабоатет.
0
 Аватар для Рядовой
1524 / 914 / 329
Регистрация: 17.05.2015
Сообщений: 3,438
23.02.2019, 16:46
Clordrin, цель какая? бесконечно создавать файлы?
0
4 / 4 / 0
Регистрация: 16.02.2019
Сообщений: 115
24.02.2019, 13:35  [ТС]
Цитата Сообщение от Рядовой Посмотреть сообщение
цель какая? бесконечно создавать файлы?
Нет, целью является написание кода после бесконечного цикла.
0
 Аватар для aenye
304 / 186 / 45
Регистрация: 05.07.2018
Сообщений: 580
24.02.2019, 13:49
Clordrin, Ответ уже есть, даже несколько.
Цитата Сообщение от Diamante Посмотреть сообщение
запустить в отдельном потоке
Цитата Сообщение от kolorotur Посмотреть сообщение
Вынести код в отдельный метод и вызывать его из цикла
Еще один вариант с потоком, для разнообразия:

C#
1
2
3
4
5
void DoShit()
{
    while(true)
        // Делаете что Вам нужно
}
C#
1
2
3
4
5
Thread thrd = new Thread(DoShit);
thrd.IsBackground = true;
thrd.Start();
 
// Остальной код основного потока
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
24.02.2019, 13:49
Помогаю со студенческими работами здесь

Выход из бесконечного цикла
Реально ли сделать выход из цикла без команды ввода? Допустим идет бесконечный цикл и в любой момент я нажимаю ENTER и цикл прекращается. ...

Выход из бесконечного цикла
Здравствуйте Посмотрите вот такой интересный код s := 1; i := 1; repeat s := s/2; inc(i); writeln( i:2,' ',s,'...

Выход из бесконечного цикла
Как выйти из этого цикла при условии, что сгенерируется значение FAFZYMA2 while(true) ...

Выход из бесконечного цикла программно
Всем привет! Хочу сделать прогу дни рождения. Так вот вопрос такой подскажите как выходить из бесконечного цикла? Я взял форму и добавил...

Организовать выход из бесконечного цикла
Ув. знатоки ассемблера. Сдаю лаб-ру, препод спрашивает, что если контроллер кл-ры накрылся, и как выйти из цикла. Вот сам код. IN AL 64H ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США. Нашел на реддите интересную статью под названием «Кто-нибудь знает, где получить бесплатный компьютер или. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru