Proveďte...Příkaz LOOP (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 Datový typ Boolean (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é struktury řízení (Visual Basic).
[!POZNÁMKA]
Do...Loop Struktura poskytuje větší flexibilitu než Při...Ukončit při výpisu (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
Pro...Další příkaz (Visual Basic)
Datový typ Boolean (Visual Basic)
Ukončení příkazu (Visual Basic)
Při...Ukončit při výpisu (Visual Basic)