Подтвердить что ты не робот

Что делает "for (;;)" в С#?

Я видел это иногда в книгах, которые я читал. Но я не нашел объяснений.

for (;;)
{
  // Do some stuff.
}

Это вроде как "while (true)"? В принципе бесконечный цикл для опроса или что-то еще? В основном, что вы делаете, пока вы намеренно не разобьете цикл?

4b9b3361

Ответ 1

Это вроде как "while (true)"?

Да. Он петляет навсегда.


Также обратите внимание на комментарий Эндрю Колесона:

Языки, такие как C, не имеют встроенных булевых примитивов, поэтому некоторые люди предпочитают (;;) в то время как (1)

Ответ 2

Да.

В a, если ничего не предусмотрено:

  • Инициализация ничего не делает.
  • Условие всегда верно
  • Оператор count ничего не делает

Это эквивалентно while (true).

Ответ 3

Вы правы. Это общая идиома С# для бесконечного цикла.

Ответ 4

Правильно. Обратите внимание, что скобки цикла for содержат три части:

  • Код инициализации
  • Условие продолжения цикла
  • Что-то, что выполняется для каждой итерации цикла

С for(;;) все они пустые, поэтому ничего не делается для инициализации цикла, нет никаких условий для его работы (т.е. он будет выполняться неопределенно), и ничего не выполняется для каждой итерации, кроме цикла содержание.

Ответ 5

Да, это бесконечный цикл.

Ответ 6

Если я правильно напомню, что он использует "while (true)", он больше напоминает "for (;;)//ever"

Ответ 7

Да, это бесконечный цикл, точно так же, как while (true).

Это немного предпочтительное соглашение, возможно потому, что оно короче. Нет никакой разницы в эффективности.

Ответ 8

Петля навсегда.

Ответ 9

Взгляните на цикл for.

for ( initialization ; condition ; increment  )

1) инициализация - установите здесь переменную счетчика


2) условие - продолжать цикл, пока встречная переменная не будет соответствовать условию
3) increment - увеличивать счетчик

Если условие отсутствует, цикл будет продолжаться вечно. Если это так, то нет необходимости в счетчике. Поэтому

for(;;)

Ответ 10

Да, это бесконечный цикл. Та же идея/эффект, что и при выполнении while(true) { ... }

Ответ 11

Цикл

Inifinite как сказать

while (0<1)

Ответ 12

Чтобы быть точным, любая петля без чего-либо между точками с запятой будет зацикливаться навсегда (до тех пор, пока она не будет прекращена каким-либо другим способом), поскольку она не имеет определенного инварианта.

Ответ 13

У него нет конечного условия, поэтому он будет зависеть навсегда, пока не найдет разрыв, как вы уже догадались.

Ответ 14

Я также могу добавить, что это выглядит как 2 смайликов, подмигивающих вам.

для (;;)

возможно, что некоторые люди любят его использовать.

Ответ 15

Да, это петли навсегда. Но причина, по которой вы должны использовать

for(;;)

вместо

while(true)

заключается в том, что

while(true)

предоставит вам предупреждение о компиляторе "константа условного выражения", а for-loop - нет. По крайней мере, вы получите предупреждение о компиляторе на самом высоком уровне предупреждения.

Ответ 16

Да!.

Ответ 17

Часто используется во встроенном программировании.

- прерывания и таймеры. -это цикл навсегда.

Когда произойдет прерывание или таймер, который будет обрабатываться.