VB.NET Infinite For Loop - PullRequest
       13

VB.NET Infinite For Loop

0 голосов
/ 24 февраля 2009

Можно ли написать бесконечный цикл for в VB.NET?

Если да, то каков синтаксис?

Ответы [ 5 ]

15 голосов
/ 24 февраля 2009
Do
    Something
Loop
8 голосов
/ 24 февраля 2009
For i as Integer = 0 To 1 Step 0

Если этого недостаточно, можно написать:

For i As Integer = 0 To 2
  i -= 1
Next
5 голосов
/ 24 февраля 2009

или

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
2 голосов
/ 27 сентября 2016

Помимо множества ответов, приведенных для того, чтобы цикл продолжался вечно, это может быть только первый факт, который фактически использует значение 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
0 голосов
/ 02 октября 2013

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

...