Kolejność wykonywania działań (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:
Czekają na operatora
Czekają na
Operacje 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 (<<, >>)
Operatory porównania
All comparison operators (=, <>, <, <=, >, >=, Is, IsNot, Like, TypeOf...Is)
Operatory logiczne i logiczną
Negacja (Not)
Conjunction (And, AndAlso)
Rozłączenie włącznie (Or, OrElse)
Wykluczająca (Xor)
Komentarze
= 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
IsNot — Operator (Visual Basic)
Like — Operator (Visual Basic)
TypeOf — Operator (Visual Basic)
Await — Operator (Visual Basic)
Operatory według funkcji (Visual Basic)