Bagikan melalui


Operator Perbandingan dalam Visual Basic

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

Membandingkan Nilai Numerik

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

Operator Kondisi yang diuji Contoh
=(Persamaan) 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
<(Lebih Kecil dari) Apakah nilai ekspresi pertama lebih kecil 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 Operator Like 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 nilai String berdasarkan urutan sortirnya, 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 diurutkan 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 kesamaan string menggunakan operator kesamaan, 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 langkah-langkah ini:

"aaa" > "aa"

' The result of the preceding comparison is True.

Urutan sortir 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 langkah-langkah 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. Bandingkan 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 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 Not dan Is yang kaku secara tata bahasa. Contoh berikut mengilustrasikan langkah-langkah 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 Jenis Objek

Anda dapat menguji apakah objek berjenis tertentu dengan ekspresi TypeOf...Is. Sintaksisnya adalah sebagai berikut:

TypeOf <objectexpression> Is <typename>

Ketika typename menentukan jenis antarmuka, maka ekspresi TypeOf...Is mengembalikan True jika objek mengimplementasikan jenis antarmuka. Ketika typename adalah jenis kelas, maka ekspresi mengembalikan True jika objek adalah instans dari kelas yang ditentukan atau kelas yang berasal dari kelas yang ditentukan. Contoh berikut mengilustrasikan langkah-langkah 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 mengevaluasi ke True karena jenis x adalah Button, yang mewarisi dari Control.

Untuk informasi selengkapnya, lihat Operator TypeOf.

Lihat juga