Sdílet prostřednictvím


Výrazy logických hodnot (Visual Basic)

Logický výraz je výraz, který se vyhodnotí jako hodnota logického datového typu: True nebo False. Boolean výrazy mohou mít několik forem. Nejjednodušší je přímé porovnání hodnoty Boolean proměnné s literálem Boolean , jak je znázorněno v následujícím příkladu.

If newCustomer = True Then
    ' Insert code to execute if newCustomer = True.
Else
    ' Insert code to execute if newCustomer = False.
End If

Dva významy operátoru =

Všimněte si, že příkaz newCustomer = True přiřazení vypadá stejně jako výraz v předchozím příkladu, ale provádí jinou funkci a používá se jinak. V předchozím příkladu výraz newCustomer = True představuje logickou hodnotu a = znaménko je interpretováno jako relační operátor. V samostatném příkazu = se znaménko interpretuje jako operátor přiřazení a přiřadí hodnotu vpravo proměnné vlevo. Toto dokládá následující příklad.

If newCustomer = True Then
    newCustomer = False
End If

Další informace najdete v tématu Porovnání hodnot a příkazy.

Operátory porovnání

Relační operátory, například =, , ><, <=<>a >= vytvářejí logické výrazy porovnáním výrazu na levé straně operátoru s výrazem na pravé straně operátoru a vyhodnocením výsledku jako True nebo False. Toto dokládá následující příklad.

42 < 81

Vzhledem k tomu, že 42 je menší než 81, logický výraz v předchozím příkladu se vyhodnotí jako True. Další informace o tomto typu výrazu najdete v tématu Porovnání hodnot.

Relační operátory v kombinaci s logickými operátory

Porovnávací výrazy je možné kombinovat pomocí logických operátorů k vytváření složitějších logických výrazů. Následující příklad ukazuje použití relačních operátorů ve spojení s logickým operátorem.

x > y And x < 1000

V předchozím příkladu závisí hodnota celkového výrazu na hodnotách výrazů na každé straně operátoru And . Pokud jsou Trueoba výrazy , pak se celkový výraz vyhodnotí jako True. Pokud je některý z výrazů False, pak se celý výraz vyhodnotí jako False.

Operátory zkratování

Logické operátory AndAlso a OrElse vykazují chování známé jako zkratování. Operátor zkratování vyhodnocuje levý operand jako první. Pokud levý operand určuje hodnotu celého výrazu, bude provádění programu pokračovat bez vyhodnocení správného výrazu. Toto dokládá následující příklad.

If 45 < 12 AndAlso testFunction(3) = 81 Then
    ' Add code to continue execution.
End If

V předchozím příkladu operátor vyhodnotí levý výraz , 45 < 12. Vzhledem k tomu, že se levý výraz vyhodnotí jako False, musí se celý logický výraz vyhodnotit jako False. Provádění programu tak přeskočí provádění kódu v If bloku bez vyhodnocení správného výrazu , testFunction(3). Tento příklad nevolá, testFunction() protože levý výraz falsifikuje celý výraz.

Podobně platí, že pokud levý výraz v logickém výrazu, který používá k OrElse vyhodnocení True, provádění pokračuje na další řádek kódu bez vyhodnocení správného výrazu, protože levý výraz již ověřil celý výraz.

Porovnání s operátory bez zkratek

Naproti tomu obě strany logického operátoru se vyhodnocují při použití logických operátorůAnd.Or Toto dokládá následující příklad.

If 45 < 12 And testFunction(3) = 81 Then
    ' Add code to continue execution.
End If

Předchozí příklad volá testFunction() , i když levý výraz je vyhodnocen jako False.

Závorky

Pomocí závorek můžete řídit pořadí vyhodnocování logických výrazů. Výrazy uzavřené závorky se vyhodnotí jako první. U několika úrovní vnoření je priorita udělena nejmíspodnějším vnořeným výrazům. V závorkách pokračuje vyhodnocení podle pravidel priority operátoru. Další informace naleznete v tématu Priorita operátoru v jazyce Visual Basic.

Viz také