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.
A Visual Basicben az alábbi összehasonlító operátorok vannak definiálva.
< operátor
<= operátor
> operátor
>= operátor
= operátor
<> operátor
Ezek az operátorok két kifejezést hasonlítanak össze annak megállapításához, hogy egyenlők-e, és ha nem, akkor miben különböznek.
Is, IsNotés Like részletesen tárgyaljuk a különböző súgóoldalakon. A relációs összehasonlító operátorokat részletesen tárgyaljuk ezen az oldalon.
Szemantika
result = expression1 comparisonoperator expression2
result = object1 [Is | IsNot] object2
result = string Like pattern
Részek
result
Szükséges. Az Boolean összehasonlítás eredményét képviselő érték.
expression1, expression2
Szükséges. Bármilyen kifejezés.
comparisonoperator
Szükséges. Bármely relációs összehasonlító operátor.
object1, object2
Szükséges. Bármely referenciaobjektum neve.
string
Szükséges. Bármilyen String kifejezés.
pattern
Szükséges. Bármilyen String kifejezés vagy karaktertartomány.
Megjegyzések
Az alábbi táblázat tartalmazza a relációs összehasonlító operátorok listáját, valamint azokat a feltételeket, amelyek meghatározzák, hogy result az vagy .TrueFalse
| Operátor |
True ha |
False ha |
|---|---|---|
< (Kisebb mint) |
expression1 < expression2 |
expression1
>= expression2 |
<= (Kisebb vagy egyenlő) |
expression1
<= expression2 |
expression1 > expression2 |
> (Nagyobb, mint) |
expression1 > expression2 |
expression1
<= expression2 |
>= (Nagyobb vagy egyenlő) |
expression1
>= expression2 |
expression1 < expression2 |
= (Egyenlő) |
expression1 = expression2 |
expression1 <> expression2 |
<> (Nem egyenlő) |
expression1 <> expression2 |
expression1 = expression2 |
Megjegyzés:
Az = operátor hozzárendelési operátorként is használható.
Az Is operátornak, az IsNot operátornak és az Like operátornak olyan összehasonlító funkciói vannak, amelyek eltérnek az előző táblázatban szereplő operátoroktól.
Számok összehasonlítása
Ha egy típuskifejezést Single egy típushoz Doublehasonlít össze, a rendszer átalakítja Doublea Single kifejezést . Ez a viselkedés ellentétes a Visual Basic 6-ban található viselkedésével.
Hasonlóképpen, ha egy típuskifejezést egy típuskifejezéssel Single hasonlít össze, vagy Doublea kifejezést a Decimal rendszer átalakítja vagy Double.SingleDecimal Kifejezések esetén Decimal az 1E-28-nál kisebb törtérték elveszhet. Az ilyen törtérték-veszteség két érték összehasonlítását okozhatja egyenlőként, ha nem. Ezért ügyeljen arra, hogy egyenlőség (=) használatával összehasonlítson két lebegőpontos változót. Biztonságosabb annak vizsgálata, hogy a két szám közötti különbség abszolút értéke kisebb-e, mint egy kis elfogadható tolerancia.
Lebegőpontos imprecision
Ha lebegőpontos számokkal dolgozik, ne feledje, hogy nem mindig rendelkeznek pontos ábrázolással a memóriában. Ez bizonyos műveletek, például az érték-összehasonlítás és a Mod Operátor váratlan eredményeihez vezethet. További információ: Adattípusok hibaelhárítása.
Sztringek összehasonlítása
A sztringek összehasonlításakor a sztringkifejezések betűrend szerinti rendezési sorrendjük alapján lesznek kiértékelve, ami a Option Compare beállítástól függ.
Option Compare Binary a sztring-összehasonlításokat a karakterek belső bináris ábrázolásaiból származtatott rendezési sorrendre alapozza. A rendezési sorrendet a kódlap határozza meg. Az alábbi példa egy tipikus bináris rendezési sorrendet mutat be.
A < B < E < Z < a < b < e < z < À < Ê < Ø < à < ê < ø
Option Compare Text a sztring-összehasonlításokat egy kis- és nagybetűkre vonatkozó, szöveges rendezési sorrendre alapozza, amelyet az alkalmazás területi beállításai határoznak meg. Az előző példában szereplő karakterek beállításakor Option Compare Text és rendezésekor a következő szöveg rendezési sorrend érvényes:
(A=a) < (À= à) < (B=b) < (E=e) < (Ê= ê) < (Ø = ø) < (Z=z)
Területi függőség
Ha beállítja Option Compare Text, a sztring-összehasonlítás eredménye attól függ, hogy melyik területi beállításban fut az alkalmazás. Két karakter egyenlő lehet az egyik területi beállításban, a másikban azonban nem. Ha sztring-összehasonlítást használ a fontos döntések meghozatalához, például hogy elfogadja-e a bejelentkezési kísérletet, a területi érzékenységre kell figyelmeztetnie. Fontolja meg a beállítás vagy Option Compare Binary a StrCompmeghívást, amely figyelembe veszi a területi beállításokat.
Típus nélküli programozás relációs összehasonlító operátorokkal
A relációs összehasonlító operátorok kifejezésekkel való Object használata nem engedélyezett Option Strict Ona . Ha Option Strict igen Off, és expression1expression2 vagy Object kifejezés, a futásidejű típusok határozzák meg az összehasonlítás módját. Az alábbi táblázat a kifejezések összehasonlítását és az összehasonlítás eredményét mutatja be az operandusok futásidejű típusától függően.
| Ha az operandusok | Az összehasonlítás a |
|---|---|
Mindkettő String |
Az összehasonlítás rendezése a sztringek rendezési jellemzői alapján. |
| Mindkét szám | Numerikus összehasonlítássá konvertált Doubleobjektumok. |
Egy szám és egy String |
A String rendszer átalakítja a műveletet, Double és numerikus összehasonlítást végez. Ha a String nem konvertálható Double, a rendszer egy InvalidCastException műveletet ad vissza. |
Vagy mindkettő olyan referenciatípus, amely nem String |
Egy InvalidCastException van dobva. |
A numerikus összehasonlítások 0-ként kezelik Nothing . A sztring-összehasonlítások (üres sztring) néven "" kezelhetőkNothing.
Túlterhelés
A relációs összehasonlító operátorok (<. <=, >, >=, =, ) <>túlterhelhetők, ami azt jelenti, hogy egy osztály vagy struktúra újradefiniálhatja a viselkedését, ha egy operandus az adott osztály vagy struktúra típusával rendelkezik. Ha a kód ezen operátorok bármelyikét használja egy ilyen osztályban vagy struktúrában, ügyeljen arra, hogy megértse az újradefiniált viselkedést. További információ: Operátori eljárások.
Figyelje meg, hogy az = operátor csak relációs összehasonlító operátorként túlterhelhető, hozzárendelési operátorként nem.
példa
Az alábbi példa a relációs összehasonlító operátorok különböző felhasználási módjait mutatja be, amelyeket kifejezések összehasonlítására használ. A relációs összehasonlító operátorok olyan Boolean eredményt adnak vissza, amely azt jelzi, hogy a megadott kifejezés kiértékeli-e azt True. Amikor sztringekre alkalmazza az és < az > operátorokat, az összehasonlítás a sztringek normál betűrend szerinti rendezési sorrendjével történik. Ez a sorrend a területi beállítástól függhet. Az Option Compare beállítástól függ, hogy a rendezés megkülönbözteti-e a kis- és nagybetűket.
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 az első összehasonlítás és a fennmaradó összehasonlítások False adnak vissza True.