Udostępnij za pośrednictwem


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)

Koncepcje

Struktury pętli (Visual Basic)

Zagnieżdżone struktury sterujące (Visual Basic)