Можно ли написать бесконечный цикл for в VB.NET?VB.NET Infinite For Loop
Если да, то какой синтаксис?
Можно ли написать бесконечный цикл for в VB.NET?VB.NET Infinite For Loop
Если да, то какой синтаксис?
For i as Integer = 0 To 1 Step 0
Если этого не достаточно Hacky, можно также написать:
For i As Integer = 0 To 2
i -= 1
Next
Да, первый из них намного чище, если вам почему-то пришлось использовать цикл For. –
целое число в конечном итоге переполнится во второй версии. – dotjoe
@ Джо, не должно. Он должен циклически переключаться между 0 и 1. –
Do
Something
Loop
он сказал для цикла;) –
Зачем вам это? Если бы это было загадкой, вы должны были сказать это в вопросе. – erikkallen
Это не предназначено для головоломки. Спасибо за ваш вклад. – user62572
или
while (true)
end while
нормально, собственно Для ответа:
Dim InfiniteLoop as Boolean = true;
For i = 1 to 45687894
If i = 45687893 And InfiniteLoop = true Then i = 1
End For
Что я делаю, это добавить таймер, тогда я меняю интервал на 1, а затем я включаю его. Если я хочу, чтобы он постоянно проверял что-то в цикле, я просто дважды нажимаю на таймер для события timer_tick, затем я печатаю то, что Я хочу. Обычно я использую это для обновления настроек, если я хочу, чтобы он сохранил все.
цикл for будет работать намного быстрее, чем таймер, если вы хотите что-то постоянно проверять - таймер может быть слишком медленным – Dman
Помимо множества ответов, заданных для того, чтобы цикл выполнялся вечно, это может быть только первое, что фактически использует значение Positive Infinity для ограничения цикла. Однако, чтобы быть в безопасности, я включил дополнительную возможность выхода через определенное количество секунд, чтобы он мог измерять скорость вашего цикла.
Sub RunInfinateForLoop(maxSeconds As Integer)
' Attempts to run a For loop to infinity but also exits if maxSeconds seconds have elapsed.
Dim t As Date = Now
Dim exitTime As Date = t.AddSeconds(maxSeconds)
Dim dCounter As Double
Dim strMessage As String
For dCounter = 1 To Double.PositiveInfinity
If Now >= exitTime Then Exit For
Next
strMessage = "Loop ended after " & dCounter.ToString & " loops in " & maxSeconds & " seconds." & vbCrLf &
"Average speed is " & CStr(dCounter/maxSeconds) & " loops per second."
MsgBox(strMessage, MsgBoxStyle.OkOnly, "Infinity Timer")
End Sub
Я бы предположил, что кто-то считает, что это плохая идея, чтобы даже попытаться. Нет абсолютно никаких оснований для этого. Вы можете уточнить, почему вы хотите это знать. – EBGreen
Поместите меня в категорию «это плохая идея». –
удалите из первой строки и попросите вырваться из нее, и вы можете быть в разумном сценарии. – cjk