天轰穿C#教程之运算符的优先级【原创】

  在计算表达式时,每个运算符都会按顺序处理。但这并不意味着从左至右地运用这些运算符。


  例如,有下面的代码:

  var1 = var2 + var3;

  其中+运算符就是在=运算符之前进行计算的。在其它一些情况下,运算符的优先级并没有这么明显,例如:

  var1 = var2 + var3 * var4;

  其中*运算符先计算,其后是+运算符,最后是=运算符,这是标准的数学运算顺序,其结果与我们在纸上进行算术运算的结果相同。

  像这样的计算,可以使用括号控制运算符的优先级,例如:

  var1 = (var2 + var3) * var4;

  括号中的内容先计算,即+运算符在*运算符之前计算。

  对于前面介绍的运算符,其优先级如下表所示,优先级相同的运算符(如*和/)按照从左至右的顺序计算。

 

优  先  级 运  算  符
优先级由高到低 ++,  -  -  (用作前缀); +,-(一元)
  *, /, %
  +,-
  =, *=, /=, %=, +=,-=
  ++, -  -  (用作后缀)


  需要提醒的是括号可用于重写优先级顺序,如上所述。另外,++和- -用作后缀运算符时,在概念上其优先级最低,如上表所示。它们不对赋值表达式的结果产生影响,所以可以认为它们的优先级比所有其它运算符都高。但是,它们会在计算表达式后改变操作数的值,所以很容易认可它们在上表中的优先级。

  本文为天轰穿原著,转载请注明出处及作者!

原文地址:https://www.cnblogs.com/thcjp/p/2759892.html