Aracılığıyla paylaş


Visual Basic'de Karşılaştırma İşleçleri

Karşılaştırma işleçleri iki ifadeyi karşılaştırır ve değerlerinin ilişkisini temsil eden bir Boolean değer döndürür. Sayısal değerleri karşılaştırmaya yönelik işleçler, dizeleri karşılaştırma işleçleri ve nesneleri karşılaştırmaya yönelik işleçler vardır. Üç işleç türü de burada ele alınıyor.

Sayısal Değerleri Karşılaştırma

Visual Basic, altı sayısal karşılaştırma işleci kullanarak sayısal değerleri karşılaştırır. Her işleç, sayısal değerlere göre değerlendirilen iki ifadeyi işlenen olarak alır. Aşağıdaki tabloda işleçler listelenmiştir ve bunların örnekleri gösterilmektedir.

Operatör Koşul test edildi Örnekler
= (Eşitlik) İlk ifadenin değeri ikinci ifadenin değerine eşit mi? 23 = 33 ' False

23 = 23 ' True

23 = 12 ' False
<> (Eşitsizlik) İlk ifadenin değeri ikinci ifadenin değerine eşit değil mi? 23 <> 33 ' True

23 <> 23 ' False

23 <> 12 ' True
< (Küçüktür) İlk ifadenin değeri ikinci ifadenin değerinden küçük mü? 23 < 33 ' True

23 < 23 ' False

23 < 12 ' False
> (Büyüktür) İlk ifadenin değeri ikinci ifadenin değerinden büyük mü? 23 > 33 ' False

23 > 23 ' False

23 > 12 ' True
<= (Küçüktür veya eşittir) İlk ifadenin değeri ikinci ifadenin değerinden küçük veya buna eşit mi? 23 <= 33 ' True

23 <= 23 ' True

23 <= 12 ' False
>= (Büyüktür veya eşittir) İlk ifadenin değeri ikinci ifadenin değerinden büyük veya buna eşit mi? 23 >= 33 ' False

23 >= 23 ' True

23 >= 12 ' True

Dizeleri Karşılaştırma

Visual Basic, like işlecini ve sayısal karşılaştırma işleçlerini kullanarak dizeleri karşılaştırır. Like işleci bir desen belirtmenize olanak tanır. Dize desenle karşılaştırılır ve eşleşirse sonuç olur True. Aksi takdirde, sonuç şeklindedir False. Sayısal işleçler, aşağıdaki örnekte gösterildiği gibi değerleri sıralama düzenlerine göre karşılaştırmanıza String olanak sağlar.

"73" < "9"

' The result of the preceding comparison is True.

Yukarıdaki örnekteki sonuç, ilk dizedeki ilk karakterin ikinci dizedeki ilk karakterden önce sıralanmasıdır True . İlk karakterler eşitse, karşılaştırma her iki dizede de bir sonraki karaktere devam eder ve bu şekilde devam eder. Aşağıdaki örnekte gösterildiği gibi, eşitlik işlecini kullanarak dizelerin eşitliğini de test edebilirsiniz.

"734" = "734"

' The result of the preceding comparison is True.

Bir dize "aa" ve "aaa" gibi başka bir dizenin ön ekiyse, uzun dizenin daha kısa dizeden büyük olduğu kabul edilir. Aşağıdaki örnek bunu göstermektedir.

"aaa" > "aa"

' The result of the preceding comparison is True.

Sıralama düzeni, ayarına Option Comparebağlı olarak ikili karşılaştırmayı veya metinsel karşılaştırmayı temel alır. Daha fazla bilgi için bkz. Seçenek Karşılaştırma Deyimi.

Nesneleri Karşılaştırma

Visual Basic, iki nesne başvuru değişkenini Is İşleci ve IsNot İşleci ile karşılaştırır. İki başvuru değişkeninin aynı nesne örneğine başvurup başvurmadığını belirlemek için bu işleçlerden birini kullanabilirsiniz. Aşağıdaki örnek bunu göstermektedir.

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

Yukarıdaki örnekte, x Is y her iki değişken de aynı örneğe başvuracağından olarak değerlendirilir True. Bu sonucu aşağıdaki örnekle karşıtlık edin.

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

Yukarıdaki örnekte, x Is y değişkenleri aynı türdeki nesnelere başvursa da, bu türün farklı örneklerine başvursalar da olarak değerlendirilir False.

Aynı örneğe işaret etmeyen iki nesne için test etmek istediğinizde, IsNot işleç ve Isdil bilgisi açısından clumsy birleşiminden Not kaçınmanıza olanak tanır. Aşağıdaki örnek bunu göstermektedir.

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

Yukarıdaki örnekte, If a IsNot b ile If Not a Is beşdeğerdir.

Nesne Türünü Karşılaştırma

Bir nesnenin belirli bir türde olup olmadığını ...Is ifadesiyle TypeOftest edebilirsiniz. Söz dizimi şu şekildedir:

TypeOf <objectexpression> Is <typename>

Bir typename arabirim türü belirttiğinde TypeOf, nesne arabirim türünü uygularsa ...Is ifadesi döndürür True . Bir sınıf türü olduğunda typename , nesne belirtilen sınıfın veya belirtilen sınıftan türetilen bir sınıfın örneğiyse ifade döndürür True . Aşağıdaki örnek bunu göstermektedir.

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

Yukarıdaki örnekte, TypeOf x Is Control türü x öğesinden Controldevralan türünde olduğundan Buttonifade olarak değerlendirilirTrue.

Daha fazla bilgi için bkz . TypeOf İşleci.

Ayrıca bkz.