Összehasonlító operátorok a Visual Basicben
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 | Feltétel tesztelve | 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. A sztring ezután összehasonlítva lesz a mintával, és ha megegyezik, az eredmény .True
Ellenkező esetben az eredmény a következő 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 az, True
hogy az első sztring első karaktere a második sztring első karaktere elé rendez. 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ó: 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
a kiértékelés eredménye True
, mert mindkét változó ugyanarra a példányra hivatkozik. Az eredmény kontrasztja 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 ennek a kiértékelése False
történik, x Is y
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 nyelvhelyességi Not
és Is
a . 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 ...Is
kifejezéssel TypeOf
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 kiértékelése True
azért történikButton
, mert a típus x
a következőtől Control
öröklődik: .
További információ: TypeOf Operátor.
Lásd még
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: