Megosztás a következőn keresztül:


Logikai kifejezések (Visual Basic)

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 TrueFalsekié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 is, Falseakkor a teljes kifejezés kiértékelése a következő lesz False: .

Rövidzárolású operátorok

A logikai operátorok AndAlso és OrElse a rövidzárolásnak nevezett viselkedés. 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 kiértékelése így Falsetörténik, a teljes logikai kifejezésnek ki kell értékelnie a következőt False: . 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ív, testFunction() mert a bal oldali kifejezés meghamisítja a teljes kifejezést.

Hasonlóképpen, ha egy logikai kifejezés bal oldali kifejezése OrElseTruekiértékeli azt, a végrehajtás a következő kódsorra lép a megfelelő kifejezés kiértékelése nélkül, mert a bal oldali kifejezés már érvényesítette a teljes kifejezést.

Összehasonlítás nem rövidzárolású operátorokkal

Ezzel szemben a logikai operátor mindkét oldalát kiértékeli a rendszer a logikai operátorok AndOr 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 akkor is meghívja a hívásokat testFunction() , ha a bal oldali kifejezés kiértékeli a következőt False: .

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 a kiértékelés az operátorok elsőbbségi szabályai szerint folytatódik. További információ: Operátorok elsőbbsége a Visual Basicben.

Lásd még