пример бесконечного цикла с минимальным кодом в c # - PullRequest
3 голосов
/ 11 мая 2011

Можете ли вы привести пример бесконечного цикла на c # с минимальным кодом? Я что-то придумал, но подумал, что может быть более простой способ.

Ответы [ 8 ]

22 голосов
/ 11 мая 2011

Типичными примерами являются циклы for и while. Например

for(;;)
{}

и

while(true)
{}

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

11 голосов
/ 11 мая 2011
while (true);

Этого должно быть достаточно.

Сгенерированный IL:

IL_0000:  br.s        IL_0000

Код безоговорочно передает управление себе.Отличный способ тратить циклы процессора.

9 голосов
/ 11 мая 2011

Бесконечный цикл:

while (true)
{
    // do stuff
}

, чтобы разорвать его:

while (true)
{
    if (condition)
        break;
}
6 голосов
/ 11 мая 2011

Если вам нужно немного больше неизвестности, это может быть тем, что вам нужно:

for (;;) { }

Или даже

l: goto l;
3 голосов
/ 11 мая 2011

Хотя это и не совсем бесконечный цикл, он будет иметь такой же практический эффект и потреблять НАМНО меньше ЦП.:)

System.Threading.Thread.Sleep(-1);
3 голосов
/ 11 мая 2011

В духе Code Golf:

for(;;);
0 голосов
/ 11 мая 2011

Попробуйте это, пример бесконечного цикла.

while(true)
{

}
0 голосов
/ 11 мая 2011

Вызовите метод в том же методе, и вы получите бесконечный цикл ( Только условия заставляют вас разорвать цикл )

void HelloWorld()
{
   HelloWorld();
}
...