Operator And (Visual Basic)
Melakukan konjungsi logis pada dua ekspresi Boolean
, atau konjungsi bitwise pada dua ekspresi numerik.
Sintaks
result = expression1 And expression2
Generator
result
Harus diisi. Ekspresi Boolean
atau numerik apa pun. Untuk perbandingan Boolean, result
adalah konjungsi logis dari dua nilai Boolean
. Untuk operasi bitwise, result
adalah nilai numerik yang mewakili konjungsi bitwise dari dua pola bit numerik.
expression1
Harus diisi. Ekspresi Boolean
atau numerik apa pun.
expression2
Harus diisi. Ekspresi Boolean
atau numerik apa pun.
Keterangan
Untuk perbandingan Boolean, result
adalah True
jika dan hanya jika keduanya expression1
dan expression2
mengevaluasi untuk True
. Tabel berikut ini menggambarkan bagaimana result
ditentukan.
Jika expression1 adalah |
Dan expression2 adalah |
Nilai dari result adalah |
---|---|---|
True |
True |
True |
True |
False |
False |
False |
True |
False |
False |
False |
False |
Catatan
Dalam perbandingan Boolean, operator And
selalu mengevaluasi kedua ekspresi, yang dapat mencakup melakukan panggilan prosedur. Operator AndAlso melakukan korsleting, yang berarti bahwa jika expression1
adalah False
, maka expression2
tidak akan dinilai.
Untuk operasi per bit, operator And
melakukan perbandingan bitwise 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 | 0 |
0 | 1 | 0 |
0 | 0 | 0 |
Catatan
Karena operator logis dan bitwise memiliki prioritas yang lebih rendah daripada operator aritmatika dan relasional lainnya, operasi bitwise apa pun harus diapit dalam tanda kurung untuk memastikan hasil 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.
Untuk perbandingan Boolean, jenis data 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.
Catatan
Operator And
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 And
operator untuk melakukan sambungan logika pada dua ekspresi. Hasilnya adalah nilai Boolean
yang mewakili apakah kedua ekspresi tersebut True
.
Dim a As Integer = 10
Dim b As Integer = 8
Dim c As Integer = 6
Dim firstCheck, secondCheck As Boolean
firstCheck = a > b And b > c
secondCheck = b > a And b > c
Contoh sebelumnya mendapatkan hasil True
, dan False
, secara berurutan.
Contoh 2
Contoh berikut menggunakan operator And
untuk melakukan konjungsi logis pada dua bit individual dari dua ekspresi numerik. Bit dalam pola hasil diatur jika bit yang sesuai dalam operand keduanya 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 And b)
secondPattern = (a And c)
thirdPattern = (b And c)
Contoh sebelumnya memperoleh hasil masing-masing 8, 2, dan 0.