Udostępnij za pośrednictwem


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

= — Operator (Visual Basic)

Is — Operator (Visual Basic)

IsNot — Operator (Visual Basic)

Like — Operator (Visual Basic)

TypeOf — Operator (Visual Basic)

Await — Operator (Visual Basic)

Operatory według funkcji (Visual Basic)

Koncepcje

Operatory i wyrażenia w Visual Basic