Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
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