Udostępnij za pośrednictwem


Pierwszeństwo operatorów w języku Visual Basic

Gdy w wyrażeniu jest kilka operacji, każda część jest oceniane i rozwiązane w określonej kolejności o nazwie pierwszeństwo operatorów.

Pierwszeństwo reguł

Wyrażenia zawiera operatory z więcej niż jednej kategorii, są oceniane zgodnie z następującymi zasadami:

  • Operatory arytmetyczne i łączenie mają pierwszeństwo opisane w poniższej sekcji, a wszystkie mają wyższy priorytet niż porównanie, logiczne i operatory.

  • Wszystkie operatory porównania mają równy priorytet, a wszystkie mają wyższy priorytet niż operatory logiczne i logiczną, ale niższy priorytet niż operatory arytmetyczne i łączenie.

  • Operatory logiczne i logiczną mają pierwszeństwo, opisane w poniższej sekcji, a wszystkie mają niższy priorytet niż operacje arytmetyczne, łączenie i operatory porównania.

  • Podmioty gospodarcze z równy priorytet są obliczane od lewej do prawej w kolejności, w jakiej pojawiają się w wyrażeniu.

Kolejność pierwszeństwa

Operatory są obliczane w następującej kolejności:

fw84t893.collapse_all(pl-pl,VS.110).gifCzekają na operatora

Czekają na

fw84t893.collapse_all(pl-pl,VS.110).gifOperacje arytmetyczne i operatorów łączenie

Potęgowanie (^)

Jednoargumentowy tożsamości i Negacja (+, –)

Mnożenie i dzielenie zmiennoprzecinkowe (*, /)

Dzielenie (\)

MODULUS arytmetyczny (Mod)

Dodawanie i odejmowanie (+, –)

Łączenie ciągów (&)

Przesunięcie bitowe arytmetyczne (<<, >>)

fw84t893.collapse_all(pl-pl,VS.110).gifOperatory porównania

All comparison operators (=, <>, <, <=, >, >=, Is, IsNot, Like, TypeOf...Is)

fw84t893.collapse_all(pl-pl,VS.110).gifOperatory logiczne i logiczną

Negacja (Not)

Conjunction (And, AndAlso)

Rozłączenie włącznie (Or, OrElse)

Wykluczająca (Xor)

fw84t893.collapse_all(pl-pl,VS.110).gifKomentarze

= Operator jest tylko operator porównania, nie operator przypisania.

Operator konkatenacji (&) nie jest operator arytmetyczny, ale w wymuszaniu pierwszeństwa jest zgrupowane z operatorów arytmetycznych.

Is i IsNot operatory są operatory porównania odniesienia obiektu.Porównuje wartości w dwóch obiektów; sprawdzają tylko do określenia, czy dwie zmienne obiektu odnoszą się do tego samego wystąpienia obiektu.

Zespolenie

Kiedy operatorów o równym priorytecie pojawiają się razem w wyrażeniu, na przykład mnożenie i dzielenie, kompilator ocenia każdej operacji, jak napotka go od lewej do prawej.Poniższy przykład ilustruje to.

Dim n1 As Integer = 96 / 8 / 4
Dim n2 As Integer = (96 / 8) / 4
Dim n3 As Integer = 96 / (8 / 4)

Pierwsze wyrażenie podziału 96 / 8 (która powoduje 12) i następnie podziału 12 / 4, które powoduje, że w trzech.Ponieważ kompilator daje w wyniku operacji dla n1 od lewej do prawej, ocena jest taka sama po tej kolejności jest wyraźnie wskazane w n2.Obie n1 i n2 wynik 3.Z drugiej strony n3 ma wynik 48, ponieważ nawiasy wymuszają kompilator do oceny 8 / 4 pierwszego.

Ze względu na to zachowanie, mówi się, że operatorzy Wi±zanie w Visual Basic.

Przesłanianie priorytet i łączność

Nawiasy można użyć do wymuszenia niektóre części wyrażenie jest sprawdzane przed innymi.Można zastąpić, kolejność pierwszeństwa i zespolenie lewej.Visual Basiczawsze wykonuje operacje, które są zawarte w nawiasach przed poza. Jednakże w nawiasach, utrzymuje zwykłych priorytet i łączność, chyba że zostanie użyty nawias w nawiasie.Poniższy przykład ilustruje to.

Dim a, b, c, d, e, f, g As Double
a = 8.0
b = 3.0
c = 4.0
d = 2.0
e = 1.0
f = a - b + c / d * e
' The preceding line sets f to 7.0. Because of natural operator 
' precedence and associativity, it is exactly equivalent to the 
' following line.
f = (a - b) + ((c / d) * e)
' The following line overrides the natural operator precedence 
' and left associativity.
g = (a - (b + c)) / (d * e)
' The preceding line sets g to 0.5.

Zobacz też

Informacje

= Operator (Visual Basic)

Jest Operator (Visual Basic)

Operator IsNot (Visual Basic)

Podobnie jak Operator (Visual Basic)

Operator TypeOf (Visual Basic)

Poczekać operatora (Visual Basic)

Podmioty wymienione według funkcji (Visual Basic)

Koncepcje

Operatorów i wyrażeń w języku Visual Basic