Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Az összehasonlító operátorok két kifejezést hasonlítanak össze, és egy Boolean
értéket adnak vissza, amely az értékük kapcsolatát jelöli. Vannak operátorok a numerikus értékek összehasonlítására, a sztringek összehasonlítására szolgáló operátorok és az objektumok összehasonlítására szolgáló operátorok. Ebben a témakörben mindhárom operátortípust tárgyaljuk.
Numerikus értékek összehasonlítása
A Visual Basic hat numerikus összehasonlító operátor használatával hasonlítja össze a numerikus értékeket. Minden operátor két olyan kifejezést vesz fel operandusként, amelyek numerikus értékeket értékelnek ki. Az alábbi táblázat felsorolja az operátorokat, és példákat mutat be ezekre.
Operátor | A feltétel tesztelve lett | Példák |
---|---|---|
= (Egyenlőség) |
Az első kifejezés értéke megegyezik a második értékével? |
23
=
33 ' False
23
=
23 ' True
23
=
12 ' False
|
<> (Egyenlőtlenség) |
Az első kifejezés értéke nem egyenlő a második értékével? |
23
<>
33 ' True
23
<>
23 ' False
23
<>
12 ' True
|
< (Kisebb mint) |
Az első kifejezés értéke kisebb, mint a másodiké? |
23
<
33 ' True
23
<
23 ' False
23
<
12 ' False
|
> (Nagyobb, mint) |
Az első kifejezés értéke nagyobb, mint a második? |
23
>
33 ' False
23
>
23 ' False
23
>
12 ' True
|
<= (Kisebb vagy egyenlő) |
Az első kifejezés értéke kisebb vagy egyenlő a második értékével? |
23
<=
33 ' True
23
<=
23 ' True
23
<=
12 ' False
|
>= (Nagyobb vagy egyenlő) |
Az első kifejezés értéke nagyobb vagy egyenlő a második értékével? |
23
>=
33 ' False
23
>=
23 ' True
23
>=
12 ' True
|
Sztringek összehasonlítása
A Visual Basic a Hasonló operátor és a numerikus összehasonlító operátorok használatával hasonlítja össze a sztringeket. Az Like
operátor lehetővé teszi egy minta megadását. Ezután a karakterláncot összehasonlítják a mintával, és ha megegyezik, az eredmény True
. Ellenkező esetben az eredmény False
. A numerikus operátorok lehetővé teszik az értékek összehasonlítását String
a rendezési sorrendjük alapján, ahogyan az az alábbi példában is látható.
"73" < "9"
' The result of the preceding comparison is True.
Az előző példában az eredmény True
, mivel az első karakter az első sztringben a második sztring első karaktere elé kerül rendezéskor. Ha az első karakterek egyenlőek lennének, az összehasonlítás mindkét sztringben a következő karakterrel folytatódna, és így tovább. A sztringek egyenlőségét az egyenlőség operátorral is tesztelheti, ahogyan az az alábbi példában is látható.
"734" = "734"
' The result of the preceding comparison is True.
Ha az egyik sztring egy másik előtagja, például "aa" és "aaa", a hosszabb sztring nagyobb, mint a rövidebb sztring. Az alábbi példa ezt szemlélteti.
"aaa" > "aa"
' The result of the preceding comparison is True.
A rendezési sorrend bináris összehasonlításon vagy szöveges összehasonlításon alapul a beállítástól Option Compare
függően. További információért lásd: Option Compare utasítás.
Objektumok összehasonlítása
A Visual Basic két objektumhivatkozási változót hasonlít össze az Is operátorral és az IsNot operátorral. Ezen operátorok bármelyikével megállapíthatja, hogy két referenciaváltozó ugyanarra az objektumpéldányra hivatkozik-e. Az alábbi példa ezt szemlélteti.
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
Az előző példában x Is y
True
lesz, mert mindkét változó ugyanarra a példányra hivatkozik. Hasonlítsa össze az eredményt az alábbi példával.
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
Az előző példában a x Is y
kiértékelése False
értéket ad, mert bár a változók azonos típusú objektumokra hivatkoznak, az adott típus különböző példányaira hivatkoznak.
Ha két olyan objektumot szeretne tesztelni, amelyek nem ugyanarra a példányra mutatnak, az IsNot
operátor lehetővé teszi, hogy elkerülje a bonyolult Not
és Is
kombinációját. Az alábbi példa ezt szemlélteti.
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
Az előző példában If a IsNot b
a következőnek felel meg: If Not a Is b
.
Objektumtípus összehasonlítása
A ...TypeOf
kifejezéssel Is
tesztelheti, hogy egy objektum egy adott típusú-e. A szintaxis a következő:
TypeOf <objectexpression> Is <typename>
Ha typename
egy felülettípust ad meg, akkor a TypeOf
...Is
kifejezés akkor ad vissza True
, ha az objektum megvalósítja az illesztőtípust. Ha typename
osztálytípus, akkor a kifejezés akkor ad vissza True
, ha az objektum a megadott osztály vagy a megadott osztályból származó osztály példánya. Az alábbi példa ezt szemlélteti.
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
Az előző példában a TypeOf x Is Control
kifejezés True
értéket ad, mivel a x
típus a Button
-ből öröklődik.
További információkért lásd: TypeOf operátor.