VISUAL BASIC FOR STATEMENT
Untuk ... Pernyataan berikutnya ( Visual
Basic )
Visual Studio 2013
Versi lain
4 dari 6 dinilai ini bermanfaat - Beri topik ini
[ Dokumentasi ini hanya pratinjau , dan dapat berubah dalam rilis nanti subjek . Topik kosong termasuk sebagai penampung . ]
Mengulangi sekelompok pernyataan sejumlah tertentu kali .
Untuk kontra [As datatype ] = start Untuk mengakhiri [ Langkah langkah ]
[ Laporan ]
[ Lanjutkan Untuk ]
[ Laporan ]
[ Keluar Untuk ]
[ Laporan ]
Berikutnya [ kontra ]
bagian
bagian
deskripsi
melawan
Diperlukan dalam laporan Untuk . Variabel numerik . Variabel kontrol loop . Untuk informasi lebih lanjut, lihat Kontra Argumen selanjutnya dalam topik ini .
datatype
Opsional . Tipe data counter . Untuk informasi lebih lanjut, lihat Kontra Argumen selanjutnya dalam topik ini .
mulai
Diperlukan . Ekspresi numerik . Nilai awal counter .
akhir
Diperlukan . Ekspresi numerik . Nilai akhir counter .
langkah
Opsional . Ekspresi numerik . Jumlah dimana counter bertambah setiap kali melalui loop .
pernyataan
Opsional . Satu atau lebih pernyataan antara Untuk dan Next yang menjalankan jumlah tertentu kali .
Lanjutkan Untuk
Opsional . Transfer kontrol ke iterasi loop berikutnya .
keluar Untuk
Opsional . Transfer mengontrol keluar dari lingkaran Untuk .
berikutnya
Diperlukan . Mengakhiri definisi Untuk lingkaran .
Catatan Catatan
Untuk kata kunci yang digunakan dalam pernyataan ini untuk menentukan kisaran untuk meja . Anda juga dapat menggunakan kata kunci ini dalam Pernyataan Select ... Case ( Visual Basic ) dan dalam deklarasi array. Untuk informasi lebih lanjut tentang deklarasi array, lihat Pernyataan Dim ( Visual Basic ) .
Contoh sederhana
Anda menggunakan Untuk ... struktur Next bila Anda ingin mengulang satu set pernyataan sejumlah set kali .
Dalam contoh berikut , variabel indeks dimulai dengan nilai 1 dan bertambah dengan setiap iterasi dari loop , berakhir setelah nilai indeks mencapai 5 .
VB
Untuk indeks As Integer = 1 To 5
Debug.Write ( index.ToString & " " )
berikutnya
Debug.WriteLine ( " " )
'Output : 1 2 3 4 5
Dalam contoh berikut , variabel jumlah dimulai pada 2 dan berkurang sebesar 0,25 pada setiap iterasi dari loop , berakhir setelah nilai angka mencapai 0 . Langkah argumen - .25 mengurangi nilai sebesar 0,25 pada setiap iterasi dari loop .
VB
Untuk nomor As Double = 2 Untuk 0 Langkah -0.25
Debug.Write ( number.ToString & " " )
berikutnya
Debug.WriteLine ( " " )
'Output : 2 1,75 1,5 1,25 1 0,75 0,5 0,25 0
tip tip
Sementara A ... End While Pernyataan ( Visual Basic ) atau Do ... Pernyataan loop ( Visual Basic ) bekerja dengan baik ketika Anda tidak tahu sebelumnya berapa kali untuk menjalankan pernyataan dalam lingkaran . Namun, ketika Anda berharap untuk menjalankan loop sejumlah tertentu kali, Untuk ... lingkaran Selanjutnya adalah pilihan yang lebih baik . Anda menentukan jumlah iterasi ketika Anda pertama kali masuk ke loop .
Loops Nesting
Anda dapat sarang Untuk loop dengan menempatkan satu loop dalam yang lain . Contoh berikut menunjukkan bersarang Untuk ... struktur berikutnya yang memiliki nilai langkah yang berbeda . Lingkaran luar menciptakan string untuk setiap iterasi dari loop . Para decrements loop batin variabel loop counter untuk setiap iterasi dari loop .
VB
Untuk indexA = 1 Untuk 3
'Buat StringBuilder baru , yang digunakan
'Untuk efisien membangun string .
Sb Dim As New System.Text.StringBuilder ( )
' Menambahkan ke StringBuilder setiap nomor ketiga
' 20-1 menurun .
Untuk indexB = 20 Untuk 1 Langkah -3
sb.Append ( indexB.ToString )
sb.Append ( " " )
Berikutnya indexB
'Tampilkan baris .
Debug.WriteLine ( sb.ToString )
Berikutnya indexA
'Output :
' 20 17 14 11 8 5 2
' 20 17 14 11 8 5 2
' 20 17 14 11 8 5 2
Ketika loop bersarang , setiap loop harus memiliki variabel counter yang unik .
Anda dapat juga sarang berbagai jenis mengontrol struktur dalam satu sama lain . Untuk informasi lebih lanjut, lihat Bersarang Struktur Control ( Visual Basic ) .
Keluar Untuk dan Lanjutkan Untuk
Exit Untuk Pernyataan segera keluar dari lingkaran ... Untuk selanjutnya dan kontrol transfer ke pernyataan yang mengikuti pernyataan berikutnya .
The Continue Untuk transfer pernyataan mengontrol langsung ke iterasi berikutnya dari loop . Untuk informasi lebih lanjut, lihat Lanjutkan Pernyataan ( Visual Basic ) .
Contoh berikut menggambarkan penggunaan Continue Untuk dan Keluar Untuk laporan .
VB
Untuk indeks As Integer = 1 To 100000
" Jika indeks adalah antara 5 dan 7 , lanjutkan
' Dengan iterasi berikutnya .
Jika indeks > = 5 dan indeks < = 8 Lalu
Lanjutkan Untuk
end If
'Tampilkan indeks .
Debug.Write ( index.ToString & " " )
"Jika indeks 10 , keluar dari loop .
Jika indeks = 10 Lalu
keluar Untuk
end If
berikutnya
Debug.WriteLine ( " " )
'Output : 1 2 3 4 9 10
Anda dapat menempatkan sejumlah Keluar Untuk laporan di For ... Next lingkaran . Bila dipakai dalam bersarang Untuk ... loop berikutnya , Exit Untuk keluar dari lingkaran terdalam dan transfer kontrol ke tingkat yang lebih tinggi berikutnya bersarang .
Keluar Untuk sering digunakan setelah Anda mengevaluasi beberapa kondisi ( misalnya , dalam struktur If ... Then ... Else ) . Anda mungkin ingin menggunakan Keluar Untuk untuk kondisi berikut :
Melanjutkan untuk iterate tidak perlu atau tidak mungkin . Sebuah nilai yang salah atau permintaan penghentian mungkin menciptakan kondisi ini .
Try A ... Menangkap ... Akhirnya pernyataan menangkap pengecualian . Anda mungkin menggunakan Exit Untuk di ujung Akhirnya blok .
Anda memiliki lingkaran tak berujung , yang merupakan lingkaran yang bisa menjalankan sejumlah besar atau bahkan tak terbatas kali . Jika Anda mendeteksi kondisi seperti ini , Anda dapat menggunakan Keluar Untuk melarikan diri loop . Untuk informasi lebih lanjut, lihat Do ... Pernyataan loop ( Visual Basic ) .
Pelaksana Teknis
Ketika loop For ... Next dimulai , Visual Basic mengevaluasi awal, akhir , dan langkah . Visual Basic mengevaluasi nilai-nilai ini hanya pada saat ini dan kemudian memberikan mulai melawan . Sebelum blok pernyataan berjalan , Visual Basic membandingkan counter untuk mengakhiri . Jika counter sudah lebih besar dari nilai akhir ( atau lebih kecil jika step negatif ) , yang berakhir Untuk lingkaran dan kontrol lolos ke pernyataan yang mengikuti pernyataan berikutnya . Jika tidak , blok pernyataan berjalan .
Setiap kali Visual Basic bertemu pernyataan depan, kenaikan kontra demi langkah dan kembali ke Untuk pernyataan. Sekali lagi membandingkan counter untuk mengakhiri , dan sekali lagi itu baik menjalankan blok atau keluar loop , tergantung pada hasil . Proses ini berlanjut sampai counter melewati akhir atau Keluar Untuk pernyataan ditemui .
Loop tidak berhenti sampai counter telah berlalu akhir . Jika counter sama dengan akhir , loop terus . Perbandingan yang menentukan apakah akan menjalankan blok adalah counter < = akhir jika langkah positif dan counter> = akhir jika step negatif .
Jika Anda mengubah nilai counter sementara di dalam lingkaran , kode Anda mungkin akan lebih sulit untuk membaca dan debug . Mengubah nilai awal, akhir , atau langkah tidak mempengaruhi nilai iterasi yang ditentukan ketika loop pertama kali masuk .
Jika Anda sarang loop , compiler sinyal kesalahan jika menemukan pernyataan berikutnya tingkat bersarang luar sebelum pernyataan berikutnya tingkat batin. Namun , compiler dapat mendeteksi kesalahan ini tumpang tindih hanya jika Anda tentukan meja di setiap pernyataan berikutnya .
Langkah Argumen
Nilai langkah dapat bersifat positif atau negatif . Parameter ini menentukan proses lingkaran sesuai dengan tabel berikut :
nilai Langkah
Lingkaran mengeksekusi jika
Positif atau nol
counter < = akhir
negatif
counter> = akhir
Nilai default dari langkah 1 .
kontra Argumen
Tabel berikut menunjukkan apakah kontra mendefinisikan variabel lokal baru yang scoped ke seluruh Untuk ... lingkaran berikutnya . Penentuan ini tergantung pada apakah datatype hadir dan apakah counter sudah didefinisikan .
Apakah datatype hadir ?
Apakah kontra sudah didefinisikan ?
Hasil ( apakah kontra mendefinisikan variabel lokal baru yang scoped ke seluruh Untuk ... lingkaran berikutnya )
tidak
ya
Tidak, karena counter sudah didefinisikan . Jika lingkup counter tidak lokal untuk prosedur , peringatan waktu kompilasi terjadi .
tidak
tidak
Ya. Tipe data ini disimpulkan dari awal, akhir , dan langkah ekspresi . Untuk informasi tentang jenis inferensi , lihat Pernyataan Kesimpulan Option dan Lokal Jenis Inferensi ( Visual Basic ) .
ya
ya
Ya , tapi hanya jika variabel counter yang ada didefinisikan luar prosedur . Variabel yang tetap terpisah. Jika ruang lingkup variabel counter yang ada lokal untuk prosedur , kesalahan waktu kompilasi terjadi .
ya
tidak
Ya.
Tipe data counter menentukan jenis iterasi , yang harus menjadi salah satu dari jenis berikut :
Sebuah Byte , SByte , ushort , Pendek, UInteger , Integer , ULong , Long , Decimal , Single, atau Double .
Sebuah pencacahan yang menyatakan dengan menggunakan Pernyataan Enum ( Visual Basic ) .
Obyek .
Sebuah jenis T yang memiliki operator berikut , dimana B adalah jenis yang dapat digunakan dalam ekspresi Boolean .
Publik Bersama Operator > = ( op1 Seperti T , OP2 Sebagai T ) Sebagai B
Operator Bersama Masyarakat < = ( op1 Seperti T , OP2 Sebagai T ) Sebagai B
Publik Bersama Operator - ( op1 Seperti T , OP2 Sebagai T ) Sebagai T
Operator Bersama Masyarakat + ( op1 Seperti T , OP2 Sebagai T ) Sebagai T
Anda opsional dapat menentukan variabel counter dalam laporan berikutnya . Sintaks ini meningkatkan pembacaan program Anda , terutama jika Anda telah bersarang Untuk loop . Anda harus menentukan variabel yang muncul dalam pernyataan yang sesuai Untuk .
Awal, akhir , dan langkah ekspresi dapat mengevaluasi untuk semua jenis data yang melebar dengan jenis meja . Jika Anda menggunakan jenis yang ditetapkan pengguna untuk counter, Anda mungkin harus menentukan operator konversi CType untuk mengubah jenis awal, akhir , atau langkah untuk jenis meja .
contoh
Contoh berikut menghapus semua elemen dari daftar generik . Alih-alih For Each ... Pernyataan berikutnya ( Visual Basic ) , misalnya menunjukkan Untuk ... pernyataan berikutnya yang iterates dalam urutan . Contoh menggunakan teknik ini karena metode removeAt menyebabkan elemen setelah elemen dihapus untuk memiliki nilai indeks yang lebih rendah .
VB
Lst Dim As New List (Of Integer ) Dari { 10 , 20 , 30 , 40 }
Untuk indeks As Integer = lst.Count - 1 Untuk 0 Step -1
lst.RemoveAt (indeks )
berikutnya
Debug.WriteLine ( lst.Count.ToString )
'Output : 0
Contoh berikut iterates melalui pencacahan yang dideklarasikan dengan menggunakan Pernyataan Enum ( Visual Basic ) .
VB
Enum Mamalia Publik
kerbau
Gazelle
luwak
badak
ikan paus
end Enum
Sub ListSomeMammals publik ( )
Untuk mamalia Sebagai Mamalia = Mammals.Gazelle Untuk Mammals.Rhinoceros
Debug.Write ( mammal.ToString & " " )
berikutnya
Debug.WriteLine ( " " )
'Output : Gazelle Mongoose Rhinoceros
end Sub
Dalam contoh berikut , parameter pernyataan menggunakan kelas yang memiliki operator overloads untuk +, - , > = , dan < = operator .
VB
Prajurit Jarak
Masyarakat Nomor Properti ( ) As Double
Public Sub New (nomor ByVal As Double )
Me.Number = jumlah
end Sub
' Tentukan operator overloads untuk mendukung pernyataan For ... Next.
Operator Bersama Masyarakat + ( ByVal op1 Sebagai Jarak , ByVal OP2 Sebagai Distance ) Sebagai Jarak
Kembali New Jarak ( op1.Number + op2.Number )
akhir Operator
Publik Bersama Operator - ( ByVal op1 Sebagai Jarak , ByVal OP2 Sebagai Distance ) Sebagai Jarak
Kembali New Jarak ( op1.Number - op2.Number )
akhir Operator
Operator Bersama Masyarakat> = ( ByVal op1 Sebagai Jarak , ByVal OP2 Sebagai Jarak ) Sebagai Boolean
Kembali ( op1.Number > = op2.Number )
akhir Operator
Operator Bersama Masyarakat < = ( ByVal op1 Sebagai Jarak , ByVal OP2 Sebagai Jarak ) Sebagai Boolean
Kembali ( op1.Number < = op2.Number )
akhir Operator
end Class
Sub ListDistances publik ( )
DistFrom Dim Jarak Baru ( 10 )
DistTo Dim Jarak Baru ( 25 )
DistStep Dim Jarak Baru ( 4 )
Untuk dist Sebagai Jarak = distFrom Untuk distTo Langkah distStep
Debug.Write ( dist.Number.ToString & " " )
berikutnya
Debug.WriteLine ( " " )
'Output : 10 14 18 22
end Sub
Visual Studio 2013
Versi lain
4 dari 6 dinilai ini bermanfaat - Beri topik ini
[ Dokumentasi ini hanya pratinjau , dan dapat berubah dalam rilis nanti subjek . Topik kosong termasuk sebagai penampung . ]
Mengulangi sekelompok pernyataan sejumlah tertentu kali .
Untuk kontra [As datatype ] = start Untuk mengakhiri [ Langkah langkah ]
[ Laporan ]
[ Lanjutkan Untuk ]
[ Laporan ]
[ Keluar Untuk ]
[ Laporan ]
Berikutnya [ kontra ]
bagian
bagian
deskripsi
melawan
Diperlukan dalam laporan Untuk . Variabel numerik . Variabel kontrol loop . Untuk informasi lebih lanjut, lihat Kontra Argumen selanjutnya dalam topik ini .
datatype
Opsional . Tipe data counter . Untuk informasi lebih lanjut, lihat Kontra Argumen selanjutnya dalam topik ini .
mulai
Diperlukan . Ekspresi numerik . Nilai awal counter .
akhir
Diperlukan . Ekspresi numerik . Nilai akhir counter .
langkah
Opsional . Ekspresi numerik . Jumlah dimana counter bertambah setiap kali melalui loop .
pernyataan
Opsional . Satu atau lebih pernyataan antara Untuk dan Next yang menjalankan jumlah tertentu kali .
Lanjutkan Untuk
Opsional . Transfer kontrol ke iterasi loop berikutnya .
keluar Untuk
Opsional . Transfer mengontrol keluar dari lingkaran Untuk .
berikutnya
Diperlukan . Mengakhiri definisi Untuk lingkaran .
Catatan Catatan
Untuk kata kunci yang digunakan dalam pernyataan ini untuk menentukan kisaran untuk meja . Anda juga dapat menggunakan kata kunci ini dalam Pernyataan Select ... Case ( Visual Basic ) dan dalam deklarasi array. Untuk informasi lebih lanjut tentang deklarasi array, lihat Pernyataan Dim ( Visual Basic ) .
Contoh sederhana
Anda menggunakan Untuk ... struktur Next bila Anda ingin mengulang satu set pernyataan sejumlah set kali .
Dalam contoh berikut , variabel indeks dimulai dengan nilai 1 dan bertambah dengan setiap iterasi dari loop , berakhir setelah nilai indeks mencapai 5 .
VB
Untuk indeks As Integer = 1 To 5
Debug.Write ( index.ToString & " " )
berikutnya
Debug.WriteLine ( " " )
'Output : 1 2 3 4 5
Dalam contoh berikut , variabel jumlah dimulai pada 2 dan berkurang sebesar 0,25 pada setiap iterasi dari loop , berakhir setelah nilai angka mencapai 0 . Langkah argumen - .25 mengurangi nilai sebesar 0,25 pada setiap iterasi dari loop .
VB
Untuk nomor As Double = 2 Untuk 0 Langkah -0.25
Debug.Write ( number.ToString & " " )
berikutnya
Debug.WriteLine ( " " )
'Output : 2 1,75 1,5 1,25 1 0,75 0,5 0,25 0
tip tip
Sementara A ... End While Pernyataan ( Visual Basic ) atau Do ... Pernyataan loop ( Visual Basic ) bekerja dengan baik ketika Anda tidak tahu sebelumnya berapa kali untuk menjalankan pernyataan dalam lingkaran . Namun, ketika Anda berharap untuk menjalankan loop sejumlah tertentu kali, Untuk ... lingkaran Selanjutnya adalah pilihan yang lebih baik . Anda menentukan jumlah iterasi ketika Anda pertama kali masuk ke loop .
Loops Nesting
Anda dapat sarang Untuk loop dengan menempatkan satu loop dalam yang lain . Contoh berikut menunjukkan bersarang Untuk ... struktur berikutnya yang memiliki nilai langkah yang berbeda . Lingkaran luar menciptakan string untuk setiap iterasi dari loop . Para decrements loop batin variabel loop counter untuk setiap iterasi dari loop .
VB
Untuk indexA = 1 Untuk 3
'Buat StringBuilder baru , yang digunakan
'Untuk efisien membangun string .
Sb Dim As New System.Text.StringBuilder ( )
' Menambahkan ke StringBuilder setiap nomor ketiga
' 20-1 menurun .
Untuk indexB = 20 Untuk 1 Langkah -3
sb.Append ( indexB.ToString )
sb.Append ( " " )
Berikutnya indexB
'Tampilkan baris .
Debug.WriteLine ( sb.ToString )
Berikutnya indexA
'Output :
' 20 17 14 11 8 5 2
' 20 17 14 11 8 5 2
' 20 17 14 11 8 5 2
Ketika loop bersarang , setiap loop harus memiliki variabel counter yang unik .
Anda dapat juga sarang berbagai jenis mengontrol struktur dalam satu sama lain . Untuk informasi lebih lanjut, lihat Bersarang Struktur Control ( Visual Basic ) .
Keluar Untuk dan Lanjutkan Untuk
Exit Untuk Pernyataan segera keluar dari lingkaran ... Untuk selanjutnya dan kontrol transfer ke pernyataan yang mengikuti pernyataan berikutnya .
The Continue Untuk transfer pernyataan mengontrol langsung ke iterasi berikutnya dari loop . Untuk informasi lebih lanjut, lihat Lanjutkan Pernyataan ( Visual Basic ) .
Contoh berikut menggambarkan penggunaan Continue Untuk dan Keluar Untuk laporan .
VB
Untuk indeks As Integer = 1 To 100000
" Jika indeks adalah antara 5 dan 7 , lanjutkan
' Dengan iterasi berikutnya .
Jika indeks > = 5 dan indeks < = 8 Lalu
Lanjutkan Untuk
end If
'Tampilkan indeks .
Debug.Write ( index.ToString & " " )
"Jika indeks 10 , keluar dari loop .
Jika indeks = 10 Lalu
keluar Untuk
end If
berikutnya
Debug.WriteLine ( " " )
'Output : 1 2 3 4 9 10
Anda dapat menempatkan sejumlah Keluar Untuk laporan di For ... Next lingkaran . Bila dipakai dalam bersarang Untuk ... loop berikutnya , Exit Untuk keluar dari lingkaran terdalam dan transfer kontrol ke tingkat yang lebih tinggi berikutnya bersarang .
Keluar Untuk sering digunakan setelah Anda mengevaluasi beberapa kondisi ( misalnya , dalam struktur If ... Then ... Else ) . Anda mungkin ingin menggunakan Keluar Untuk untuk kondisi berikut :
Melanjutkan untuk iterate tidak perlu atau tidak mungkin . Sebuah nilai yang salah atau permintaan penghentian mungkin menciptakan kondisi ini .
Try A ... Menangkap ... Akhirnya pernyataan menangkap pengecualian . Anda mungkin menggunakan Exit Untuk di ujung Akhirnya blok .
Anda memiliki lingkaran tak berujung , yang merupakan lingkaran yang bisa menjalankan sejumlah besar atau bahkan tak terbatas kali . Jika Anda mendeteksi kondisi seperti ini , Anda dapat menggunakan Keluar Untuk melarikan diri loop . Untuk informasi lebih lanjut, lihat Do ... Pernyataan loop ( Visual Basic ) .
Pelaksana Teknis
Ketika loop For ... Next dimulai , Visual Basic mengevaluasi awal, akhir , dan langkah . Visual Basic mengevaluasi nilai-nilai ini hanya pada saat ini dan kemudian memberikan mulai melawan . Sebelum blok pernyataan berjalan , Visual Basic membandingkan counter untuk mengakhiri . Jika counter sudah lebih besar dari nilai akhir ( atau lebih kecil jika step negatif ) , yang berakhir Untuk lingkaran dan kontrol lolos ke pernyataan yang mengikuti pernyataan berikutnya . Jika tidak , blok pernyataan berjalan .
Setiap kali Visual Basic bertemu pernyataan depan, kenaikan kontra demi langkah dan kembali ke Untuk pernyataan. Sekali lagi membandingkan counter untuk mengakhiri , dan sekali lagi itu baik menjalankan blok atau keluar loop , tergantung pada hasil . Proses ini berlanjut sampai counter melewati akhir atau Keluar Untuk pernyataan ditemui .
Loop tidak berhenti sampai counter telah berlalu akhir . Jika counter sama dengan akhir , loop terus . Perbandingan yang menentukan apakah akan menjalankan blok adalah counter < = akhir jika langkah positif dan counter> = akhir jika step negatif .
Jika Anda mengubah nilai counter sementara di dalam lingkaran , kode Anda mungkin akan lebih sulit untuk membaca dan debug . Mengubah nilai awal, akhir , atau langkah tidak mempengaruhi nilai iterasi yang ditentukan ketika loop pertama kali masuk .
Jika Anda sarang loop , compiler sinyal kesalahan jika menemukan pernyataan berikutnya tingkat bersarang luar sebelum pernyataan berikutnya tingkat batin. Namun , compiler dapat mendeteksi kesalahan ini tumpang tindih hanya jika Anda tentukan meja di setiap pernyataan berikutnya .
Langkah Argumen
Nilai langkah dapat bersifat positif atau negatif . Parameter ini menentukan proses lingkaran sesuai dengan tabel berikut :
nilai Langkah
Lingkaran mengeksekusi jika
Positif atau nol
counter < = akhir
negatif
counter> = akhir
Nilai default dari langkah 1 .
kontra Argumen
Tabel berikut menunjukkan apakah kontra mendefinisikan variabel lokal baru yang scoped ke seluruh Untuk ... lingkaran berikutnya . Penentuan ini tergantung pada apakah datatype hadir dan apakah counter sudah didefinisikan .
Apakah datatype hadir ?
Apakah kontra sudah didefinisikan ?
Hasil ( apakah kontra mendefinisikan variabel lokal baru yang scoped ke seluruh Untuk ... lingkaran berikutnya )
tidak
ya
Tidak, karena counter sudah didefinisikan . Jika lingkup counter tidak lokal untuk prosedur , peringatan waktu kompilasi terjadi .
tidak
tidak
Ya. Tipe data ini disimpulkan dari awal, akhir , dan langkah ekspresi . Untuk informasi tentang jenis inferensi , lihat Pernyataan Kesimpulan Option dan Lokal Jenis Inferensi ( Visual Basic ) .
ya
ya
Ya , tapi hanya jika variabel counter yang ada didefinisikan luar prosedur . Variabel yang tetap terpisah. Jika ruang lingkup variabel counter yang ada lokal untuk prosedur , kesalahan waktu kompilasi terjadi .
ya
tidak
Ya.
Tipe data counter menentukan jenis iterasi , yang harus menjadi salah satu dari jenis berikut :
Sebuah Byte , SByte , ushort , Pendek, UInteger , Integer , ULong , Long , Decimal , Single, atau Double .
Sebuah pencacahan yang menyatakan dengan menggunakan Pernyataan Enum ( Visual Basic ) .
Obyek .
Sebuah jenis T yang memiliki operator berikut , dimana B adalah jenis yang dapat digunakan dalam ekspresi Boolean .
Publik Bersama Operator > = ( op1 Seperti T , OP2 Sebagai T ) Sebagai B
Operator Bersama Masyarakat < = ( op1 Seperti T , OP2 Sebagai T ) Sebagai B
Publik Bersama Operator - ( op1 Seperti T , OP2 Sebagai T ) Sebagai T
Operator Bersama Masyarakat + ( op1 Seperti T , OP2 Sebagai T ) Sebagai T
Anda opsional dapat menentukan variabel counter dalam laporan berikutnya . Sintaks ini meningkatkan pembacaan program Anda , terutama jika Anda telah bersarang Untuk loop . Anda harus menentukan variabel yang muncul dalam pernyataan yang sesuai Untuk .
Awal, akhir , dan langkah ekspresi dapat mengevaluasi untuk semua jenis data yang melebar dengan jenis meja . Jika Anda menggunakan jenis yang ditetapkan pengguna untuk counter, Anda mungkin harus menentukan operator konversi CType untuk mengubah jenis awal, akhir , atau langkah untuk jenis meja .
contoh
Contoh berikut menghapus semua elemen dari daftar generik . Alih-alih For Each ... Pernyataan berikutnya ( Visual Basic ) , misalnya menunjukkan Untuk ... pernyataan berikutnya yang iterates dalam urutan . Contoh menggunakan teknik ini karena metode removeAt menyebabkan elemen setelah elemen dihapus untuk memiliki nilai indeks yang lebih rendah .
VB
Lst Dim As New List (Of Integer ) Dari { 10 , 20 , 30 , 40 }
Untuk indeks As Integer = lst.Count - 1 Untuk 0 Step -1
lst.RemoveAt (indeks )
berikutnya
Debug.WriteLine ( lst.Count.ToString )
'Output : 0
Contoh berikut iterates melalui pencacahan yang dideklarasikan dengan menggunakan Pernyataan Enum ( Visual Basic ) .
VB
Enum Mamalia Publik
kerbau
Gazelle
luwak
badak
ikan paus
end Enum
Sub ListSomeMammals publik ( )
Untuk mamalia Sebagai Mamalia = Mammals.Gazelle Untuk Mammals.Rhinoceros
Debug.Write ( mammal.ToString & " " )
berikutnya
Debug.WriteLine ( " " )
'Output : Gazelle Mongoose Rhinoceros
end Sub
Dalam contoh berikut , parameter pernyataan menggunakan kelas yang memiliki operator overloads untuk +, - , > = , dan < = operator .
VB
Prajurit Jarak
Masyarakat Nomor Properti ( ) As Double
Public Sub New (nomor ByVal As Double )
Me.Number = jumlah
end Sub
' Tentukan operator overloads untuk mendukung pernyataan For ... Next.
Operator Bersama Masyarakat + ( ByVal op1 Sebagai Jarak , ByVal OP2 Sebagai Distance ) Sebagai Jarak
Kembali New Jarak ( op1.Number + op2.Number )
akhir Operator
Publik Bersama Operator - ( ByVal op1 Sebagai Jarak , ByVal OP2 Sebagai Distance ) Sebagai Jarak
Kembali New Jarak ( op1.Number - op2.Number )
akhir Operator
Operator Bersama Masyarakat> = ( ByVal op1 Sebagai Jarak , ByVal OP2 Sebagai Jarak ) Sebagai Boolean
Kembali ( op1.Number > = op2.Number )
akhir Operator
Operator Bersama Masyarakat < = ( ByVal op1 Sebagai Jarak , ByVal OP2 Sebagai Jarak ) Sebagai Boolean
Kembali ( op1.Number < = op2.Number )
akhir Operator
end Class
Sub ListDistances publik ( )
DistFrom Dim Jarak Baru ( 10 )
DistTo Dim Jarak Baru ( 25 )
DistStep Dim Jarak Baru ( 4 )
Untuk dist Sebagai Jarak = distFrom Untuk distTo Langkah distStep
Debug.Write ( dist.Number.ToString & " " )
berikutnya
Debug.WriteLine ( " " )
'Output : 10 14 18 22
end Sub
Tidak ada komentar:
Posting Komentar