Sdílet prostřednictvím


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

Řada příkazů se spustí danou podmínku je True.

While condition
    [ statements ]
    [ Continue While ]
    [ statements ]
    [ Exit While ]
    [ statements ]
End While

Části

Termín

Definice

condition

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

statements

Nepovinné.Jeden nebo více následujících příkazech While, který při každém spuštění condition je True.

Continue While

Nepovinné.Další opakování předá řízení While bloku.

Exit While

Nepovinné.Řízení z While bloku.

End While

Povinné.Ukončí vymezení While bloku.

Poznámky

Použití While...End While struktury, když chcete opakovat sadu příkazů je libovolně časy, zůstává podmínku True.Pokud chcete s kde otestovat podmínku nebo co je výsledek větší flexibilitu otestovat pro můžete Do...Loop – příkaz (Visual Basic).Pokud chcete opakovat příkazy nastavení počtu opakování a For...Next – příkaz (Visual Basic) je obvykle lepší volbou.

[!POZNÁMKA]

While Klíčové slovo je používán také Do...Loop – příkaz (Visual Basic), Skip While – klauzule (Visual Basic) a Take While – klauzule (Visual Basic).

Pokud condition je True, vše z statements spustit až End While prohlášení je zjištěna.Řízení se vrátí While prohlášení, a condition je znovu zkontrolovat.Pokud condition stále True, proces se opakuje.Pokud má False, řízení průchodů následující prohlášení End While prohlášení.

While Prohlášení vždy kontroluje stav před spuštěním smyčky.Opakování pokračuje, zatímco podmínka zůstane True.Pokud condition je False při prvním zadání smyčky nespustí ještě jednou.

condition Obvykle výsledky srovnání dvou hodnot, ale může být jakýkoli výraz, jehož výsledkem Boolean – datový typ (Visual Basic) hodnoty (True nebo False).Tento výraz může obsahovat jiný typ dat, například číselný typ, který byl převeden na hodnotu Boolean.

Můžete vnořit While smyčky umístěním jednoho 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).

Při ukončení

Ukončit při prohlášení může poskytnout jiným způsobem, jak ukončit While smyčky.Exit Whileprohlášení, která následuje ihned předá řízení End While prohlášení.

Obvykle používají Exit While 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í.Můžete použít Exit While při testování pro podmínku, která by mohla způsobit nekonečnou smyčku, která smyčka, který by mohl spustit extrémně velké nebo dokonce nekonečné udává, kolikrát je.Můžete použít Exit While k návratu smyčky.

Můžete vytvořit libovolný počet Exit While příkazy kdekoli v While smyčky.

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

Continue While Prohlášení neprodleně předá řízení další opakování smyčky.Další informace naleznete v tématu Continue – příkaz (Visual Basic).

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.

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

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

Následující příklad ukazuje použití Continue While a Exit While příkazy.

Dim index As Integer = 0
While index < 100000
    index += 1

    ' If index is between 5 and 7, continue 
    ' with the next iteration. 
    If index >= 5 And index <= 8 Then 
        Continue While 
    End If 

    ' Display the index.
    Debug.Write(index.ToString & " ")

    ' If index is 10, exit the loop. 
    If index = 10 Then 
        Exit While 
    End If 
End While

Debug.WriteLine("")
' Output: 1 2 3 4 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 While stav, Peek metodu StreamReader Určuje, zda soubor obsahuje 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)

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

        sr.Close()
    End If 
End Sub

Viz také

Referenční dokumentace

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

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

Boolean – datový typ (Visual Basic)

Exit – příkaz (Visual Basic)

Continue – příkaz (Visual Basic)

Koncepty

Struktury smyčky (Visual Basic)

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