Bagikan melalui


Operator Not (Visual Basic)

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

Sintaks

result = Not expression  

Generator

result
Harus diisi. Ekspresi Boolean atau numerik apa pun.

expression
Harus diisi. Ekspresi Boolean atau numerik apa pun.

Keterangan

Untuk ekspresi Boolean, tabel berikut mengilustrasikan bagaimana result ditentukan.

Jika expression adalah Nilai dari result adalah
True False
False True

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

Jika bit dalam expression adalah Bit dalam result adalah
1 0
0 1

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.

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.

Jenis Data

Untuk negasi Boolean, jenis data hasilnya adalah Boolean. Untuk negasi bitwise, jenis data hasilnya sama dengan itu dari expression. Namun, jika ekspresi adalah Decimal, hasilnya adalah Long.

Kelebihan beban

Operator Not dapat kelebihan beban, yang berarti bahwa suatu kelas atau struktur dapat mendefinisikan ulang perilakunya saat operandnya 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 Not untuk melakukan negasi logika pada ekspresi Boolean. Hasilnya adalah nilai Boolean yang mewakili kebalikan 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 mendapatkan hasil False, dan True, secara berurutan.

Contoh 2

Contoh berikut menggunakan operator Not untuk melakukan negasi logis dari bit individual dari ekspresi numerik. Bit dalam pola hasil diatur ke kebalikan dari bit yang sesuai dalam pola operan, 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 mendapatkan hasil –11, –9, dan –7, secara berturutan.

Lihat juga