Bagikan melalui


Melakukan... Pernyataan Perulangan (Visual Basic)

Mengulangi blok pernyataan saat kondisi Boolean adalah True atau sampai kondisi menjadi True.

Sintaksis

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 ]

Bagian

Istilah Definisi
Do Dibutuhkan. Memulai definisi perulangan Do .
While Tidak dapat diberikan jika Until digunakan. Ulangi perulangan hingga condition .False
Until Tidak dapat diberikan jika While digunakan. Ulangi perulangan hingga condition .True
condition Fakultatif. Boolean Ekspresi. Jika condition adalah Nothing, Visual Basic memperlakukannya sebagai False.
statements Fakultatif. Satu atau beberapa pernyataan yang diulang sementara, atau sampai, condition adalah True.
Continue Do Fakultatif. Mentransfer kontrol ke perulangan Do berikutnya.
Exit Do Fakultatif. Memindahkan kendali keluar dari perulangan Do .
Loop Dibutuhkan. Mengakhiri definisi dari perulangan Do.

Komentar

Do...Loop Gunakan struktur saat Anda ingin mengulangi serangkaian pernyataan yang jumlahnya tidak terbatas, hingga kondisi terpenuhi. Jika Anda ingin mengulangi pernyataan beberapa kali, untuk... Pernyataan Berikutnya biasanya merupakan pilihan yang lebih baik.

Anda dapat menggunakan atau WhileUntil untuk menentukan condition, tetapi tidak keduanya. Jika Anda tidak memberikan keduanya, perulangan berlanjut sampai Exit kontrol transfer keluar dari perulangan.

Anda hanya dapat menguji condition satu kali, baik di awal atau akhir perulangan. Jika Anda menguji condition di awal perulangan (dalam Do pernyataan), perulangan mungkin tidak berjalan bahkan satu kali. Jika Anda menguji di akhir perulangan (dalam Loop pernyataan), perulangan selalu berjalan setidaknya satu kali.

Kondisi biasanya dihasilkan dari perbandingan dua nilai, tetapi dapat berupa ekspresi apa pun yang mengevaluasi ke nilai Jenis Data Boolean (True atau False). Ini termasuk nilai jenis data lain, seperti jenis numerik, yang telah dikonversi ke Boolean.

Anda dapat menyarangkan Do perulangan dengan menempatkan satu perulangan di dalam perulangan lainnya. Anda juga dapat menumpuk berbagai jenis struktur kontrol satu sama lain. Untuk informasi selengkapnya, lihat Struktur Kontrol Tertumpuk.

Nota

Struktur memberi Do...Loop Anda lebih banyak fleksibilitas daripada Sementara ... Akhiri Pernyataan Sementara karena memungkinkan Anda memutuskan apakah akan mengakhiri perulangan saat condition berhenti menjadi True atau kapan pertama kali menjadi True. Ini juga memungkinkan Anda untuk menguji condition di awal atau akhir perulangan.

Keluar Dari Do

Pernyataan Exit Do dapat memberikan cara alternatif untuk keluar dari Do…Loop. Exit Do mentransfer kontrol segera ke pernyataan yang mengikuti Loop pernyataan.

Exit Do sering digunakan setelah beberapa kondisi dievaluasi, misalnya dalam If...Then...Else struktur. Anda mungkin ingin keluar dari perulangan jika Anda mendeteksi kondisi yang membuatnya tidak perlu atau tidak mungkin untuk melanjutkan iterasi, seperti nilai yang salah atau permintaan penghentian. Salah satu penggunaannya Exit Do adalah menguji kondisi yang dapat menyebabkan perulangan tanpa akhir, yang merupakan perulangan yang dapat menjalankan sejumlah besar atau bahkan tak terbatas. Anda dapat menggunakan Exit Do untuk menghindari perulangan.

Anda dapat menyertakan sejumlah Exit Do pernyataan di mana saja dalam .Do…Loop

Ketika digunakan dalam perulangan berlapis Do , Exit Do transfer mengontrol keluar dari perulangan terdalam dan ke tingkat sarang berikutnya yang lebih tinggi.

Contoh 1

Dalam contoh berikut, pernyataan dalam perulangan terus berjalan hingga index variabel lebih besar dari 10. Klausa Until berada di akhir perulangan.

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 

Contoh 2

Contoh berikut menggunakan klausul alih-alih Until klausulWhile, dan condition diuji di awal perulangan alih-alih di akhir.

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 

Contoh 3

Dalam contoh berikut, condition menghentikan perulangan ketika index variabel lebih besar dari 100. Pernyataan If dalam perulangan, bagaimanapun, menyebabkan Exit Do pernyataan menghentikan perulangan ketika variabel indeks lebih besar dari 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 

Contoh 4

Contoh berikut membaca semua baris dalam file teks. Metode OpenText membuka file dan mengembalikan yang StreamReader membaca karakter. Dalam kondisi, Do...LoopPeek metode menentukan StreamReader apakah ada karakter tambahan.

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

Lihat juga