Apakah ada statment seperti Exit For
, kecuali keluar dari loop hanya berpindah ke item berikutnya.
Sebagai contoh:
For Each I As Item In Items
If I = x Then
' Move to next item
End If
' Do something
Next
Saya tahu cukup menambahkan Else
ke pernyataan If sehingga akan terbaca sebagai berikut:
For Each I As Item In Items
If I = x Then
' Move to next item
Else
' Do something
End If
Next
Hanya ingin tahu apakah ada cara untuk melompat ke item berikutnya dalam Items
daftar. Saya yakin sebagian besar akan benar bertanya mengapa tidak hanya menggunakan Else
pernyataan, tetapi bagi saya membungkus kode "Lakukan Sesuatu" tampaknya kurang terbaca. Apalagi jika ada lebih banyak kode.
If
pernyataan itu dengan benar. Itu menyesatkan.Saya akan menggunakan
Continue
pernyataan itu sebagai gantinya:Perhatikan bahwa ini sedikit berbeda dengan memindahkan iterator itu sendiri - apa pun sebelum iterator
If
akan dijalankan lagi. Biasanya ini yang Anda inginkan, tetapi jika tidak, Anda harus menggunakanGetEnumerator()
dan kemudianMoveNext()
/Current
secara eksplisit daripada menggunakanFor Each
loop.sumber
Bagaimana dengan:
sumber
Saya ingin menjelaskan bahwa kode berikut bukanlah praktik yang baik. Anda dapat menggunakan Label GOTO:
sumber
Ketika saya mencobanya
Continue For
Gagal, saya mendapat kesalahan kompiler. Saat melakukan ini, saya menemukan 'Resume':Catatan: Saya menggunakan VBA di sini.
sumber
Resume Next
adalah untuk penanganan kesalahan yang tidak terstruktur.If I <> x Then
Hanya "Continue For" yang merupakan standar yang dapat diterima (sisanya mengarah ke "kode spaghetti").
Setidaknya dengan "lanjutkan untuk" programmer tahu kode tersebut langsung menuju ke atas loop.
Untuk puritan sekalipun, sesuatu seperti ini adalah yang terbaik karena ini murni kode "non-spaghetti".
Untuk kemudahan pengkodean, "Continue For" tidak apa-apa. (Ide bagus untuk berkomentar).
Menggunakan "Lanjutkan Untuk"
sumber