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 logikai kifejezés olyan kifejezés, amely a logikai adattípus értékét értékeli ki: True
vagy False
.
Boolean
a kifejezések több formában is használhatók. A legegyszerűbb egy változó értékének Boolean
közvetlen összehasonlítása egy Boolean
literálhoz, ahogy az az alábbi példában is látható.
If newCustomer = True Then
' Insert code to execute if newCustomer = True.
Else
' Insert code to execute if newCustomer = False.
End If
Az = operátor két jelentése
Figyelje meg, hogy a hozzárendelési utasítás newCustomer = True
ugyanúgy néz ki, mint az előző példában szereplő kifejezés, de egy másik függvényt hajt végre, és másképp használja. Az előző példában a kifejezés newCustomer = True
logikai értéket jelöl, a =
jelet pedig összehasonlító operátorként értelmezi a rendszer. Önálló utasításban a rendszer hozzárendelési operátorként értelmezi a =
jelet, és a jobb oldalon lévő értéket a bal oldali változóhoz rendeli. Az alábbi példa ezt szemlélteti.
If newCustomer = True Then
newCustomer = False
End If
További információ: Érték-összehasonlítások és -utasítások.
Összehasonlító operátorok
Az olyan összehasonlító operátorok, mint =
a , <
, >
, <>
<=
, és >=
logikai kifejezéseket hoznak létre az operátor bal oldalán lévő kifejezés és az operátor jobb oldalán lévő kifejezés összehasonlításával és az eredmény True
False
kiértékelésével. Az alábbi példa ezt szemlélteti.
42 < 81
Mivel a 42 kisebb, mint 81, az előző példában szereplő logikai kifejezés a következő lesz True
: . Az ilyen típusú kifejezésekről további információt az Érték-összehasonlítások című témakörben talál.
Összehasonlító operátorok logikai operátorokkal kombinálva
Az összehasonlító kifejezések logikai operátorokkal kombinálhatók összetettebb logikai kifejezések létrehozásához. Az alábbi példa az összehasonlító operátorok logikai operátorokkal való együttes használatát mutatja be.
x > y And x < 1000
Az előző példában a teljes kifejezés értéke az operátor mindkét oldalán And
lévő kifejezések értékeitől függ. Ha mindkét kifejezés az True
, akkor a teljes kifejezés kiértékelése a következő lesz True
: . Ha bármelyik kifejezés False
, akkor az egész kifejezés eredménye False
.
Short-Circuiting operátorok
A logikai operátorok AndAlso
és OrElse
a rövidzárlatnak nevezett viselkedést mutatnak. A rövidzárlat-operátor először kiértékeli a bal operandust. Ha a bal operandus határozza meg a teljes kifejezés értékét, akkor a program végrehajtása a megfelelő kifejezés kiértékelése nélkül folytatódik. Az alábbi példa ezt szemlélteti.
If 45 < 12 AndAlso testFunction(3) = 81 Then
' Add code to continue execution.
End If
Az előző példában az operátor kiértékeli a bal oldali kifejezést. 45 < 12
Mivel a bal oldali kifejezés False
eredményt ad, a teljes logikai kifejezésnek False
eredményt kell adnia. A program végrehajtása így kihagyja a kód végrehajtását a blokkon belül a If
megfelelő kifejezés kiértékelése nélkül. testFunction(3)
Ez a példa nem hívja meg testFunction()
, mert a bal oldali kifejezés hamissá teszi a teljes kifejezést.
Hasonlóképpen, ha egy logikai kifejezés bal oldali kifejezése OrElse
True
értékeli, a végrehajtás a következő kódsorra lép a jobb oldali kifejezés kiértékelése nélkül, mert a bal oldali kifejezés már az egész kifejezést érvényesítette.
Összehasonlítás nemShort-Circuiting operátorokkal
Ezzel szemben a logikai operátor mindkét oldalát kiértékeli a rendszer a logikai operátorok And
Or
használatakor. Az alábbi példa ezt szemlélteti.
If 45 < 12 And testFunction(3) = 81 Then
' Add code to continue execution.
End If
Az előző példa meghívja a testFunction()
-t, még akkor is, ha a bal oldali kifejezés False
-re értékelődik.
Zárójeles kifejezések
Zárójelek használatával szabályozhatja a logikai kifejezések kiértékelési sorrendjét. A zárójelek által körülvett kifejezések először kiértékelnek. A beágyazás több szintje esetén elsőbbséget élveznek a legmélyebb beágyazott kifejezések. Zárójelben az értékelés az operátorok precedenciaszabályai szerint folytatódik. További információ: Operátorok elsőbbsége a Visual Basicben.