Home [C# 筆記] 運算子(Operator)
Post
Cancel

[C# 筆記] 運算子(Operator)

運算子 & 運算元

所謂的「運算子(Operators)」是執行程式碼運算的項目,會根據運算子的優先順序來針對一個以上的「運算元(Operand)」項目進行運算。側如:10+90其運算子就是(+),而運算元就是(1090)。

運算子的種類可以分為:

  • 算術運算子(Airthemtic Operators)
  • 串連運算子(Concatenation Operators)
  • 關係運算子(Relational Operators)
  • 指定運算子(Assignment Operators)
  • 邏輯運算子(Logical Operators)

運算子種類執行優先順序

在一個「運算式(Expression)」中若執行數個運算時,此時則會以「運算子優先順序」來決定執行的順序和要解析評估的運算部分。

運算式中包含一個以上的運算子時,則會依照以下的優先順序來進行評估:

運算子類型優先順序 
一元運算子+, -, !, ~
算術運算子*, /, %, +, -
串連運算子+
關係運算子<, >, <=, >=, is, as, ==, !=
邏輯運算子&, ^, , &&, ∣∣, ?:
指定運算子=, +=, -=, *=, /=, %=, &=, ∣=, ^=
  • 優先順序:一元運算子 > 算術運算子 > 串連運算子 > 關係運算子 > 邏輯運算子 > 指定運算子
  • 而優先順序相同的運算子,會按照其在運算式中的位置 「由左至右」 評估。

例如:

1
2
3
4
//會先執行*運算子:3*6,再執行+運算子
//所以是:3*6 = 18,然後再加上 2
//其最後結果 a=20
a = 3 * 6 + 2

MSDN - 優先順序和評估順序
MSDN - C# 運算子與運算式
Book: Visual C# 2005 建構資訊系統實戰經典教本

This post is licensed under CC BY 4.0 by the author.