Sdílet prostřednictvím


Do...Loop – příkaz (Visual Basic)

Blok příkazů při opakování Boolean je podmínka True nebo dokud nebude podmínka True.

Do { While | Until } condition
    [ statements ]
    [ Continue Do ]
    [ statements ]
    [ Exit Do ]
    [ statements ]
Loop
-or-
Do
    [ statements ]
    [ Continue Do ]
    [ statements ]
    [ Exit Do ]
    [ statements ]
Loop { While | Until } condition

Části

Termín

Definice

Do

Povinné.Spustí definice Do smyčky.

While

Povinné Pokud Until se používá.Opakování smyčky do condition je False.

Until

Povinné Pokud While se používá.Opakování smyčky do condition je True.

condition

Nepovinné.Booleanvýraz.Pokud condition je Nothing, Visual Basic, považuje ji za False.

statements

Nepovinné.Jeden nebo více příkazů, které se opakují při nebo dokud, condition je True.

Continue Do

Nepovinné.Další opakování předá řízení Do smyčky.

Exit Do

Nepovinné.Řízení z Do smyčky.

Loop

Povinné.Ukončí vymezení Do smyčky.

Poznámky

Použití Do...Loop struktury, když chcete sadu příkazů vícekrát, je podmínka splněna, je libovolně opakovat.Pokud chcete opakovat příkazy nastavení počtu opakování a pro...Další příkaz je obvykle lepší volbou.

Můžete použít buď While nebo Until k zadání condition, ale ne obojí.

Můžete vyzkoušet condition pouze jednou a na začátek nebo konec smyčky.Jestliže otestujete condition při spuštění smyčky (v Do prohlášení), smyčky nemusí spustit ještě jednou.Pokud test na konci smyčky (v Loop prohlášení), smyčky vždy alespoň jednou spuštěn.

Podmínka obvykle výsledkem porovnání dvou hodnot, ale může být jakýkoli výraz, jehož výsledkem Boolean – datový typ (Visual Basic) hodnoty (True nebo False).To zahrnuje další typy dat, například číselné typy, které byly převedeny na hodnoty Boolean.

Můžete vnořit Do smyčky vložením jedné smyčky v rámci jiného.Různé druhy řízení struktur v rámci vzájemně můžete také vnořit.Další informace naleznete v tématu Vnořené řídicí struktury (Visual Basic).

[!POZNÁMKA]

Do...Loop Struktura poskytuje větší flexibilitu než While...End While – příkaz (Visual Basic) protože umožňuje rozhodnout, zda smyčku při condition , přestává být True nebo když se poprvé stane True.Umožňuje rovněž test condition na začátek nebo konec smyčky.

Ukončit

Exit proveďte prohlášení mohou poskytovat alternativní způsob ukončení Do…Loop.Exit Dopředá řízení následující příkaz Loop prohlášení.

Exit Doje často používán po některá podmínka je vyhodnocena, například v If...Then...Else struktury.Můžete ukončit smyčky, pokud rozpoznat podmínku, která usnadňuje zbytečným nebo nemožným pokračovat iterace jako chybné hodnoty nebo požadavek na ukončení.Jedno použití Exit Do je test na podmínku, která by mohla způsobit nekonečnou smyčku, který smyčky, která by mohla spustit velký nebo dokonce nekonečné udává, kolikrát je.Můžete použít Exit Do k návratu smyčky.

Může obsahovat libovolný počet Exit Do příkazy kdekoli v Do…Loop.

Při použití v rámci vnořené Do smyčky, Exit Do řízení a vnitřní smyčku z další vyšší úrovně vnoření.

Příklad

V následujícím příkladu příkazy ve smyčce nadále spuštěn až index proměnné je větší než 10.Until Klauzule je na konci smyčky.

Dim index As Integer = 0
Do
    Debug.Write(index.ToString & " ")
    index += 1
Loop Until index > 10

Debug.WriteLine("")
' Output: 0 1 2 3 4 5 6 7 8 9 10 

V následujícím příkladu While místo klauzule Until klauzule, a condition je testován na počátku smyčku místo na konci.

Dim index As Integer = 0
Do While index <= 10
    Debug.Write(index.ToString & " ")
    index += 1
Loop

Debug.WriteLine("")
' Output: 0 1 2 3 4 5 6 7 8 9 10 

V následujícím příkladu condition smyčky se zastaví při index proměnné je větší než 100.If Příkaz loop, ale způsobuje Exit Do příkaz k ukončení smyčky proměnná index je větší než 10.

Dim index As Integer = 0
Do While index <= 100
    If index > 10 Then 
        Exit Do 
    End If

    Debug.Write(index.ToString & " ")
    index += 1
Loop

Debug.WriteLine("")
' Output: 0 1 2 3 4 5 6 7 8 9 10 

Následující příklad načte všechny řádky v textovém souboru.OpenText Metoda otevře soubor a vrátí StreamReader , čte znaky.V Do...Loop stav, Peek metodu StreamReader Určuje, zda jsou všechny další znaky.

Private Sub ShowText(ByVal textFilePath As String)
    If System.IO.File.Exists(textFilePath) = False Then
        Debug.WriteLine("File Not Found: " & textFilePath)
    Else 
        Dim sr As System.IO.StreamReader = System.IO.File.OpenText(textFilePath)

        Do While sr.Peek() >= 0
            Debug.WriteLine(sr.ReadLine())
        Loop

        sr.Close()
    End If 
End Sub

Viz také

Referenční dokumentace

For...Next – příkaz (Visual Basic)

Boolean – datový typ (Visual Basic)

Exit – příkaz (Visual Basic)

While...End While – příkaz (Visual Basic)

Koncepty

Struktury smyčky (Visual Basic)

Vnořené řídicí struktury (Visual Basic)