Bagikan melalui


Operator Perbandingan di Visual Basic

Operator perbandingan membandingkan dua ekspresi dan mengembalikan Boolean nilai yang mewakili hubungan nilainya. Ada operator untuk membandingkan nilai numerik, operator untuk membandingkan string, dan operator untuk membandingkan objek. Ketiga jenis operator dibahas di sini.

Membandingkan Nilai Numerik

Visual Basic membandingkan nilai numerik menggunakan enam operator perbandingan numerik. Setiap operator menggunakan dua ekspresi yang menghasilkan nilai numerik sebagai operand. Tabel berikut mencantumkan operator dan memperlihatkan contoh masing-masing operator.

Pengoperasi Kondisi diuji Contoh
= (Kesetaraan) Apakah nilai ekspresi pertama sama dengan nilai kedua? 23 = 33 ' False

23 = 23 ' True

23 = 12 ' False
<> (Ketidaksamaan) Apakah nilai ekspresi pertama tidak sama dengan nilai kedua? 23 <> 33 ' True

23 <> 23 ' False

23 <> 12 ' True
< (Kurang dari) Apakah nilai ekspresi pertama kurang dari nilai kedua? 23 < 33 ' True

23 < 23 ' False

23 < 12 ' False
> (Lebih besar dari) Apakah nilai ekspresi pertama lebih besar dari nilai kedua? 23 > 33 ' False

23 > 23 ' False

23 > 12 ' True
<= (Kurang dari atau sama dengan) Apakah nilai ekspresi pertama kurang dari atau sama dengan nilai kedua? 23 <= 33 ' True

23 <= 23 ' True

23 <= 12 ' False
>= (Lebih besar dari atau sama dengan) Apakah nilai ekspresi pertama lebih besar dari atau sama dengan nilai kedua? 23 >= 33 ' False

23 >= 23 ' True

23 >= 12 ' True

Membandingkan String

Visual Basic membandingkan string menggunakan Like Operator serta operator perbandingan numerik. Operator Like memungkinkan Anda menentukan pola. String kemudian dibandingkan dengan pola, dan jika cocok, hasilnya adalah True. Jika tidak, hasilnya adalah False. Operator numerik memungkinkan Anda membandingkan String nilai berdasarkan urutan pengurutannya, seperti yang ditunjukkan contoh berikut.

"73" < "9"

' The result of the preceding comparison is True.

Hasil dalam contoh sebelumnya adalah True karena karakter pertama dalam string pertama mengurutkan sebelum karakter pertama dalam string kedua. Jika karakter pertama sama, perbandingan akan berlanjut ke karakter berikutnya di kedua string, dan sebagainya. Anda juga dapat menguji kesetaraan string menggunakan operator kesetaraan, seperti yang ditunjukkan contoh berikut.

"734" = "734"

' The result of the preceding comparison is True.

Jika satu string adalah awalan dari yang lain, seperti "aa" dan "aaa", string yang lebih panjang dianggap lebih besar dari string yang lebih pendek. Contoh berikut mengilustrasikan hal ini.

"aaa" > "aa"

' The result of the preceding comparison is True.

Urutan didasarkan pada perbandingan biner atau perbandingan tekstual tergantung pada pengaturan Option Compare. Untuk informasi selengkapnya, lihat Pernyataan Perbandingan Opsi.

Membandingkan Objek

Visual Basic membandingkan dua variabel referensi objek dengan Operator Is dan Operator IsNot. Anda dapat menggunakan salah satu operator ini untuk menentukan apakah dua variabel referensi merujuk ke instans objek yang sama. Contoh berikut mengilustrasikan hal ini.

Dim x As testClass
Dim y As New testClass()
x = y
If x Is y Then
    ' Insert code to run if x and y point to the same instance.
End If

Dalam contoh sebelumnya, x Is y mengevaluasi ke True, karena kedua variabel merujuk ke instans yang sama. Kontraskan hasil ini dengan contoh berikut.

Dim x As New customer()
Dim y As New customer()
If x Is y Then
    ' Insert code to run if x and y point to the same instance.
End If

Dalam contoh sebelumnya, x Is y mengevaluasi ke False, karena meskipun variabel merujuk ke objek dengan jenis yang sama, variabel tersebut merujuk ke instans yang berbeda dari jenis tersebut.

Ketika Anda ingin menguji dua objek yang tidak menunjuk ke instans yang sama, operator IsNot memungkinkan Anda menghindari kombinasi tata bahasa yang kikuk antara Not dan Is. Contoh berikut mengilustrasikan hal ini.

Dim a As New classA()
Dim b As New classB()
If a IsNot b Then
    ' Insert code to run if a and b point to different instances.
End If

Dalam contoh sebelumnya, If a IsNot b setara dengan If Not a Is b.

Membandingkan Tipe Objek

Anda dapat menguji apakah objek memiliki jenis tertentu dengan TypeOfekspresi ...Is . Sintaksnya adalah sebagai berikut:

TypeOf <objectexpression> Is <typename>

Saat typename menentukan jenis antarmuka, ekspresi TypeOf...Is akan kembali True jika objek mengimplementasikan jenis antarmuka. Ketika typename adalah jenis kelas, maka ekspresi mengembalikan jika objek adalah instans True kelas yang ditentukan atau kelas yang berasal dari kelas yang ditentukan. Contoh berikut mengilustrasikan hal ini.

Dim x As System.Windows.Forms.Button
x = New System.Windows.Forms.Button()
If TypeOf x Is System.Windows.Forms.Control Then
    ' Insert code to run if x is of type System.Windows.Forms.Control.
End If

Dalam contoh sebelumnya, ekspresi TypeOf x Is Control dievaluasi sebagai True karena tipe x adalah Button, yang diturunkan dari Control.

Untuk informasi selengkapnya, lihat Operator TypeOf.

Lihat juga