Vb.net-operators-precedence

提供:Dev Guides
移動先:案内検索

VB.Net-オペレーターの優先順位

演算子の優先順位は、式内の用語のグループ化を決定します。 これは、式の評価方法に影響します。 特定の演算子は、他の演算子よりも優先順位が高くなっています。たとえば、乗算演算子は加算演算子よりも優先順位が高い-

たとえば、x = 7 + 3 * 2;ここでは、演算子*の優先順位が+より高いため、xには20ではなく13が割り当てられます。したがって、最初に3 * 2で乗算され、次に7に加算されます。

ここでは、優先順位が最も高い演算子が表の上部に表示され、優先順位が最も低い演算子が下部に表示されます。 式内では、優先順位の高い演算子が最初に評価されます。

Operator Precedence
Await Highest
Exponentiation (^)
Unary identity and negation (+, -)
Multiplication and floating-point division (*,/)
Integer division (\)
Modulus arithmetic (Mod)
Addition and subtraction (+, -)
Arithmetic bit shift (<>)
All comparison operators (=, <>, <, ⇐, >, >=, Is, IsNot, Like, TypeOf…​Is)
Negation (Not)
Conjunction (And, AndAlso)
Inclusive disjunction (Or, OrElse)
Exclusive disjunction (Xor) Lowest

次の例は、簡単な方法で演算子の優先順位を示しています-

Module assignment
   Sub Main()
      Dim a As Integer = 20
      Dim b As Integer = 10
      Dim c As Integer = 15
      Dim d As Integer = 5
      Dim e As Integer
      e = (a + b) *c/d      ' ( 30* 15 )/5

      Console.WriteLine("Value of (a + b) *c/d is : {0}", e)
      e = ((a + b)* c)/d    ' (30 *15 )/5

      Console.WriteLine("Value of ((a + b)* c)/d is  : {0}", e)
      e = (a + b) *(c/d)   ' (30)* (15/5)

      Console.WriteLine("Value of (a + b) *(c/d) is  : {0}", e)
      e = a + (b* c)/d     '  20 + (150/5)

      Console.WriteLine("Value of a + (b *c)/d is  : {0}", e)
      Console.ReadLine()
   End Sub
End Module

上記のコードをコンパイルして実行すると、次の結果が生成されます-

Value of (a + b)* c/d is : 90
Value of ((a + b) *c)/d is  : 90
Value of (a + b)* (c/d) is  : 90
Value of a + (b * c)/d is  : 50