Bagikan melalui


Operator Or (Visual Basic)

Melakukan pengecualian logis pada dua ekspresi Boolean, atau disjungsi bitwise pada dua ekspresi numerik.

Sintaks

result = expression1 Or expression2  

Generator

result
Harus diisi. Ekspresi Boolean atau numerik apa pun. Sebagai Boolean perbandingan, result adalah disjungsi logis inklusif dari dua nilai Boolean. Untuk operasi bitwise, result adalah nilai numerik yang mewakili disjungsi bitwise inklusif dari dua pola bit numerik.

expression1
Harus diisi. Ekspresi Boolean atau numerik apa pun.

expression2
Harus diisi. Ekspresi Boolean atau numerik apa pun.

Keterangan

Sebagai Boolean perbandingan, result adalah False jika dan hanya jika expression1 dan expression2 mengevaluasi ke False. Tabel berikut ini menggambarkan bagaimana result ditentukan.

Jika expression1 adalah Dan expression2 adalah Nilai dari result adalah
True True True
True False True
False True True
False False False

Catatan

Dalam perbandingan Boolean, operator Or selalu mengevaluasi kedua ekspresi, yang dapat termasuk melakukan panggilan prosedur. Operator OrElse melakukan short-circuiting, yang berarti bahwa jika expression1 adalah True, maka expression2 tidak akan dievaluasi.

Untuk operasi per bit, operator Or melakukan perbandingan per bit yang diposisikan secara identik dalam dua ekspresi numerik dan mengatur bit yang sesuai dalam result berdasarkan tabel berikut.

Jika bit dalam expression1 adalah Dan bit dalam expression2 adalah Bit dalam result adalah
1 1 1
1 0 1
0 1 1
0 0 0

Catatan

Karena operator logis dan per bit memiliki prioritas yang lebih rendah daripada operator aritmetika dan relasi lainnya, operasi per bit apa pun harus diapit dalam tanda kurung untuk memastikan eksekusi yang akurat.

Jenis Data

Jika operand terdiri dari satu ekspresi Boolean dan satu ekspresi numerik, Visual Basic akan mengonversi ekspresi Boolean menjadi nilai numerik (–1 untuk True dan 0 untuk False) dan melakukan operasi per bit.

Sebagai perbandingan Boolean, jenis data dari hasilnya adalah Boolean. Untuk perbandingan bitwise, jenis hasil data adalah jenis numerik yang sesuai untuk jenis data expression1 dan expression2. Lihat tabel "Perbandingan Relasi dan Per Bit" di Jenis Data Hasil Operator.

Kelebihan beban

Operator Or dapat kelebihan beban, yang berarti bahwa kelas atau struktur dapat mendefinisikan ulang perilakunya saat operand memiliki jenis kelas atau struktur tersebut. Jika kode Anda menggunakan operator ini pada kelas atau struktur seperti itu, pastikan Anda memahami perilakunya yang didefinisikan ulang. Untuk informasi lebih lanjut, lihat Prosedur Operator.

Contoh 1

Contoh berikut menggunakan operator Or untuk melakukan pengecualian yang logis (disjungsi logis eksklusif) pada dua ekspresi. Hasilnya adalah nilai Boolean yang mewakili apakah salah satu ekspresi adalah True.

Dim a As Integer = 10
Dim b As Integer = 8
Dim c As Integer = 6
Dim firstCheck, secondCheck, thirdCheck As Boolean
firstCheck = a > b Or b > c
secondCheck = b > a Or b > c
thirdCheck = b > a Or c > b

Contoh sebelumnya menghasilkan hasil masing-masing True, True, dan False.

Contoh 2

Contoh berikut menggunakan operator Or untuk melakukan disjungsi logis yang inklusif pada dua bit individual dari dua ekspresi numerik. Bit di dalam pola hasil diatur jika salah satu bit yang sesuai dalam operand diatur ke 1.

Dim a As Integer = 10
Dim b As Integer = 8
Dim c As Integer = 6
Dim firstPattern, secondPattern, thirdPattern As Integer
firstPattern = (a Or b)
secondPattern = (a Or c)
thirdPattern = (b Or c)

Contoh sebelumnya menghasilkan hasil masing-masing 10, 14, dan 14.

Lihat juga