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.
Melakukan disjunksi logis inklusif sirkuit pendek pada dua ekspresi.
Sintaksis
result = expression1 OrElse expression2
Bagian
result
Dibutuhkan. Ekspresi apa pun Boolean .
expression1
Dibutuhkan. Ekspresi apa pun Boolean .
expression2
Dibutuhkan. Ekspresi apa pun Boolean .
Komentar
Operasi logis dikatakan sebagai sirkuit pendek jika kode yang dikompilasi dapat melewati evaluasi satu ekspresi tergantung pada hasil ekspresi lain. Jika hasil ekspresi pertama yang dievaluasi menentukan hasil akhir operasi, tidak perlu mengevaluasi ekspresi kedua, karena tidak dapat mengubah hasil akhir. Sirkuit pendek dapat meningkatkan performa jika ekspresi yang dilewati kompleks, atau jika melibatkan panggilan prosedur.
Jika salah satu atau kedua ekspresi mengevaluasi ke True, result adalah True. Tabel berikut ini menggambarkan bagaimana result ditentukan.
Jika expression1 adalah |
Dan expression2 adalah |
Nilainya result adalah |
|---|---|---|
True |
(tidak dievaluasi) | True |
False |
True |
True |
False |
False |
False |
Tipe Data
Operator OrElse hanya didefinisikan untuk Jenis Data Boolean. Visual Basic mengonversi setiap operand seperlunya sebelum Boolean mengevaluasi ekspresi. Jika Anda menetapkan hasilnya ke jenis numerik, Visual Basic mengonversinya dari Boolean ke jenis tersebut sehingga False menjadi 0 dan True menjadi -1.
Untuk informasi selengkapnya, lihat Konversi Jenis Boolean.
Beban Berlebih
Operator Atau dan Operator IsTrue dapat kelebihan beban, yang berarti bahwa kelas atau struktur dapat menentukan ulang perilaku mereka ketika operand memiliki jenis kelas atau struktur tersebut. Kelebihan beban Or operator dan IsTrue memengaruhi perilaku OrElse operator. Jika kode Anda menggunakan OrElse pada kelas atau struktur yang kelebihan beban Or dan IsTrue, pastikan Anda memahami perilaku yang ditentukan ulang. Untuk informasi selengkapnya, lihat Prosedur Operator.
Contoh 1
Contoh berikut menggunakan OrElse operator untuk melakukan disjunction logis pada dua ekspresi. Hasilnya adalah Boolean nilai yang menunjukkan apakah salah satu dari dua ekspresi tersebut benar. Jika ekspresi pertama adalah True, yang kedua tidak dievaluasi.
Dim a As Integer = 10
Dim b As Integer = 8
Dim c As Integer = 6
Dim firstCheck, secondCheck, thirdCheck As Boolean
firstCheck = a > b OrElse b > c
secondCheck = b > a OrElse b > c
thirdCheck = b > a OrElse c > b
Contoh sebelumnya menghasilkan hasil True, , Truedan False masing-masing. Dalam perhitungan firstCheck, ekspresi kedua tidak dievaluasi karena yang pertama sudah True. Namun, ekspresi kedua dievaluasi dalam perhitungan secondCheck.
Contoh 2
Contoh berikut menunjukkan pernyataan ...Then yang Ifberisi dua panggilan prosedur. Jika panggilan pertama mengembalikan True, prosedur kedua tidak dipanggil. Ini dapat menghasilkan hasil yang tidak terduga jika prosedur kedua melakukan tugas penting yang harus selalu dilakukan ketika bagian kode ini berjalan.
If testFunction(5) = True OrElse otherFunction(4) = True Then
' If testFunction(5) is True, otherFunction(4) is not called.
' Insert code to be executed.
End If