目录

Show 例子

运算符优先级确定表达式中的术语分组。 这会影响表达式的评估。 某些运算符的优先级高于其他运算符; 例如,乘法运算符的优先级高于加法运算符。

例如x = 7 + 3 * 2; 这里,x被赋值为13,而不是20,因为operator *的优先级高于+,因此第一次评估发生在3 * 2,然后将7添加到其中。

此处,具有最高优先级的运算符显示在表的顶部,具有最低优先级的运算符显示在底部。 在表达式中,首先计算更高优先级的运算符。

类别 操作者 关联性
Postfix ()[] - >。 ++ - - 左到右
Unary + - ! 〜++ - - (类型)*&sizeof 右到左
Multiplicative * /% 左到右
Additive + - 左到右
Shift << >> 左到右
Relational << => = 左到右
Equality ==!= 左到右
Bitwise AND& 左到右
Bitwise XOR ^ 左到右
Bitwise OR | 左到右
Logical AND && 左到右
Logical OR || 左到右
Conditional?: 右到左
Assignment = + = - = * =/=%= >> = << =&= ^ = | = 右到左
Comma, 左到右

例子 (Example)

using System;
namespace OperatorsAppl {
   class Program {
      static void Main(string[] args) {
         int a = 20;
         int b = 10;
         int c = 15;
         int d = 5;
         int 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);   // (30) * (15/5) {0}", e);
         e = a + (b * c)/d;    //  20 + (150/5) {0}", e);
         Console.ReadLine();
      }
   }
}

编译并执行上述代码时,会产生以下结果 -

Value of (a + b) * c/d is : 90
Value of ((a + b) * c)/d is  : 90
↑回到顶部↑
WIKI教程 @2018