表达式Expressions

本文内容

表达式是在操作数运算符的基础之上构造而成。表达式的运算符指明了向操作数应用的运算。运算符的示例包括 +-*/new操作数的示例包括文本、字段、局部变量和表达式。

如果表达式包含多个运算符,那么运算符的优先级决定了各个运算符的计算顺序。例如,表达式 x + y z 相当于计算 x + (y z),因为 * 运算符的优先级高于 + 运算符。

如果操作数两边的两个运算符的优先级相同,那么运算符的结合性决定了运算的执行顺序:

  • 除了赋值运算符之外,所有二元运算符均为左结合运算符,即从左向右执行运算。例如,x + y + z 将计算为 (x + y) + z
  • 赋值运算符和条件运算符 (?:) 为右结合运算符,即从右向左执行运算。例如,x = y = z 将计算为 x = (y = z)可以使用括号控制优先级和结合性。例如,x + y z 先计算 yz,并将结果与 x 相加,而 (x + y) z 则先计算 xy,然后将结果与 z 相乘。

大部分运算符可重载借助运算符重载,可以为一个或两个操作数为用户定义类或结构类型的运算指定用户定义运算符实现代码。

C# 提供多个运算符用于执行算术逻辑按位和移位运算以及相等排序比较。

要了解按优先级排序的完整 C# 运算符列表,请参阅 C# 运算符