Bagikan melalui


Bukan Operator (Visual Basic)

Melakukan negasi logis pada Boolean ekspresi, atau negasi bitwise pada ekspresi numerik.

Sintaksis

result = Not expression  

Bagian

result
Dibutuhkan. Ekspresi apa pun Boolean atau numerik.

expression
Dibutuhkan. Ekspresi apa pun Boolean atau numerik.

Komentar

Untuk Boolean ekspresi, tabel berikut ini menggambarkan bagaimana result ditentukan.

Jika expression adalah Nilainya result adalah
True False
False True

Untuk ekspresi numerik, operator menginversi Not nilai bit dari ekspresi numerik apa pun dan mengatur bit result yang sesuai sesuai dengan tabel berikut.

Jika bit in expression adalah Bit di result adalah
1 0
0 1

Nota

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 eksekusi yang akurat.

Perhatikan bahwa jika Not someStr?.Contains("some string") atau nilai lain yang mengevaluasi sebagai Boolean? memiliki nilai nothing atau HasValue=false, else blok dijalankan. Evaluasi mengikuti evaluasi SQL di mana null/nothing tidak sama dengan apa pun, bahkan bukan null/tidak sama sekali.

Tipe Data

Untuk negasi Boolean, jenis data hasilnya adalah Boolean. Untuk negasi bitwise, jenis data hasilnya sama expressiondengan . Namun, jika ekspresi adalah Decimal, hasilnya adalah Long.

Beban Berlebih

Operator Not dapat kelebihan beban, yang berarti bahwa kelas atau struktur dapat menentukan ulang perilakunya ketika operand-nya memiliki jenis kelas atau struktur tersebut. Jika kode Anda menggunakan operator ini pada kelas atau struktur seperti itu, pastikan Anda memahami perilaku yang ditentukan ulang. Untuk informasi selengkapnya, lihat Prosedur Operator.

Contoh 1

Contoh berikut menggunakan Not operator untuk melakukan negasi logis pada Boolean ekspresi. Hasilnya adalah Boolean nilai yang mewakili kebalikan dari nilai ekspresi.

Dim a As Integer = 10
Dim b As Integer = 8
Dim c As Integer = 6
Dim firstCheck, secondCheck As Boolean
firstCheck = Not (a > b)
secondCheck = Not (b > a)

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

Contoh 2

Contoh berikut menggunakan Not operator untuk melakukan negasi logis dari bit individu dari ekspresi numerik. Bit dalam pola hasil diatur ke ke balik bit yang sesuai dalam pola operand, termasuk bit tanda.

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

Contoh sebelumnya menghasilkan hasil masing-masing –11, –9, dan –7.

Lihat juga