While...End While — Instrukcja (Visual Basic)
Działa serię instrukcji, jeśli określony warunek jest True.
While condition
[ statements ]
[ Continue While ]
[ statements ]
[ Exit While ]
[ statements ]
End While
Części
Termin |
Definicja |
condition |
Wymagane.Booleanwyrażenie.Jeśli condition jest Nothing, Visual Basic traktuje ją jako False. |
statements |
Opcjonalne.Jeden lub więcej następujących instrukcji While, który każdy czas condition jest True. |
Continue While |
Opcjonalne.Przekazuje sterowanie do następnej iteracji While bloku. |
Exit While |
Opcjonalne.Przekazuje sterowanie z While bloku. |
End While |
Wymagane.Kończy definicję While bloku. |
Uwagi
Użyj While...End While struktury, gdy chcesz powtórzyć instrukcji nieskończoną liczbę razy, tak długo jak warunek True.Jeśli chcesz większą elastyczność, gdy test warunek lub spowodować co możesz przetestować dla może preferować Do...Loop — Instrukcja (Visual Basic).Jeśli chcesz powtarzać oświadczeń okreoloną liczbę razy, For...Next — Instrukcja (Visual Basic) jest zwykle lepszym wyborem.
[!UWAGA]
While Słowo kluczowe jest również używane w Do...Loop — Instrukcja (Visual Basic), Skip While — Klauzula (Visual Basic) i Take While — Klauzula (Visual Basic).
Jeśli condition jest True, wszystkie z statements do wykonywania End While napotkaniu instrukcji.Zwraca do sterowania While instrukcji, i condition jest ponownie sprawdzany.Jeśli condition jest nadal True, proces jest powtarzany.Jeśli ma False, sterowanie przechodzi do instrukcji, który następuje End While instrukcji.
While Instrukcji zawsze sprawdza warunek, przed jego uruchomieniem pętli.Zapętlanie nadal pozostaje warunek True.Jeśli condition jest False podczas wpisywania pętli nie działa jeszcze raz.
condition Zazwyczaj wyniki porównania dwóch wartości, ale może być dowolne wyrażenie, którego wynikiem jest Boolean Data Type (Visual Basic) wartość (True lub False).To wyrażenie może zawierać wartość innego typu danych, na przykład typ liczbowy, który został przekonwertowany na Boolean.
Można zagnieździć While pętli, umieszczając jedną pętli w innym.Różne rodzaje struktur kontroli wewnątrz innych można zagnieżdżać.Aby uzyskać więcej informacji, zobacz Zagnieżdżone struktury sterujące (Visual Basic).
Zakończ podczas
Zamknąć podczas instrukcji umożliwiają wyjść w inny sposób While pętli.Exit Whileniezwłocznie przekazuje sterowanie do instrukcji, który następuje End While instrukcji.
Zazwyczaj używa się Exit While po niektórych warunek jest oceniany (na przykład w If...Then...Else struktury).Można zamknąć pętlę, jeśli wykryć warunek, który ułatwia niepotrzebne lub niemożliwe nadal Iterowanie jak błędne wartości lub żądanie zakończenia.Można użyć Exit While podczas testowania warunku, który może spowodować w pętli nieskończonej, który jest pętli, który może uruchomić bardzo dużych lub nawet nieskończoną liczbę razy.Można użyć Exit While uciec pętli.
Można umieścić dowolną liczbę Exit While instrukcji w dowolnym miejscu w While pętli.
Gdy używany zagnieżdżone w While pętli, Exit While przekazuje sterowanie z pętli wewnętrzne z do następnego wyższego poziomu zagnieżdżenia.
Continue While Oświadczenie niezwłocznie przekazuje sterowanie do następnej iteracji pętli.Aby uzyskać więcej informacji, zobacz Continue — Instrukcja (Visual Basic).
Przykład
W poniższym przykładzie oświadczenia w pętli nadal uruchomiony dopiero index zmienna jest większa niż 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
Poniższy przykład ilustruje użycie Continue While i Exit While instrukcji.
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
Poniższy przykład odczytuje wszystkie wiersze w pliku tekstowym.OpenText Metoda otwiera plik i zwraca StreamReader , odczytuje znaki.W While warunek, Peek metoda StreamReader Określa, czy plik zawiera dodatkowe znaki.
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
Zobacz też
Informacje
Do...Loop — Instrukcja (Visual Basic)
For...Next — Instrukcja (Visual Basic)
Boolean Data Type (Visual Basic)
Exit — Instrukcja (Visual Basic)
Continue — Instrukcja (Visual Basic)