Udostępnij za pośrednictwem


Wyrażenia logiczne (Visual Basic)

Wyrażenie logiczne to wyrażenie, które oblicza wartość typu danych logicznych: True lub False. Boolean wyrażenia mogą mieć kilka form. Najprostszym jest bezpośrednie porównanie wartości Boolean zmiennej do Boolean literału, jak pokazano w poniższym przykładzie.

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

Dwa znaczenia operatora =

Zwróć uwagę, że instrukcja newCustomer = True przypisania wygląda tak samo jak wyrażenie w poprzednim przykładzie, ale wykonuje inną funkcję i jest używana inaczej. W poprzednim przykładzie wyrażenie newCustomer = True reprezentuje wartość logiczną, a = znak jest interpretowany jako operator porównania. W instrukcji = autonomicznej znak jest interpretowany jako operator przypisania i przypisuje wartość po prawej stronie do zmiennej po lewej stronie. Ilustruje to poniższy przykład.

If newCustomer = True Then
    newCustomer = False
End If

Aby uzyskać więcej informacji, zobacz Porównanie wartości i instrukcje.

Operatory porównania

Operatory porównania, takie jak =, , ><, <>, <=i >= generują wyrażenia logiczne, porównując wyrażenie po lewej stronie operatora z wyrażeniem po prawej stronie operatora i oceniając wynik jako True lub False. Ilustruje to poniższy przykład.

42 < 81

Ponieważ wartość 42 jest mniejsza niż 81, wyrażenie logiczne w poprzednim przykładzie daje wartość True. Aby uzyskać więcej informacji na temat tego rodzaju wyrażenia, zobacz Porównanie wartości.

Operatory porównania połączone z operatorami logicznymi

Wyrażenia porównania można łączyć przy użyciu operatorów logicznych w celu utworzenia bardziej złożonych wyrażeń logicznych. W poniższym przykładzie pokazano użycie operatorów porównania w połączeniu z operatorem logicznym.

x > y And x < 1000

W poprzednim przykładzie wartość wyrażenia ogólnego zależy od wartości wyrażeń po każdej stronie And operatora. Jeśli oba wyrażenia to True, ogólne wyrażenie daje wartość True. Jeśli którekolwiek z wyrażeń to False, całe wyrażenie daje wartość False.

Operatory zwarciowe

Operatory AndAlso logiczne i OrElse wykazują zachowanie znane jako zwarcie. Operator zwarciowy najpierw ocenia lewy operand. Jeśli lewy operand określa wartość całego wyrażenia, wykonywanie programu będzie kontynuowane bez obliczania odpowiedniego wyrażenia. Ilustruje to poniższy przykład.

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

W poprzednim przykładzie operator oblicza wyrażenie po lewej stronie. 45 < 12 Ponieważ wyrażenie po lewej stronie daje wartość False, całe wyrażenie logiczne musi mieć wartość False. W związku z tym wykonywanie programu pomija wykonywanie kodu w If bloku bez obliczania odpowiedniego wyrażenia : testFunction(3). W tym przykładzie nie jest wywoływane testFunction() , ponieważ wyrażenie po lewej stronie fałszuje całe wyrażenie.

Podobnie, jeśli lewe wyrażenie w wyrażeniu logicznym przy użyciu OrElse funkcji oblicza wartość True, wykonanie przechodzi do następnego wiersza kodu bez oceniania prawego wyrażenia, ponieważ wyrażenie po lewej stronie zweryfikowało już całe wyrażenie.

Porównanie z operatorami niewzwiązanymi

Natomiast obie strony operatora logicznego są oceniane, gdy operatory And logiczne i Or są używane. Ilustruje to poniższy przykład.

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

Poprzednie przykładowe wywołania testFunction() , mimo że wyrażenie po lewej stronie daje wartość False.

Wyrażenia nawiasów

Nawiasy umożliwiają sterowanie kolejnością obliczania wyrażeń logicznych. Wyrażenia ujęte w nawiasy są najpierw obliczane. W przypadku wielu poziomów zagnieżdżania pierwszeństwo jest przyznawane dla najbardziej głęboko zagnieżdżonych wyrażeń. W nawiasach ocena jest kontynuowana zgodnie z regułami pierwszeństwa operatora. Aby uzyskać więcej informacji, zobacz Pierwszeństwo operatora w Visual Basic.

Zobacz też