運算子 & 運算元
所謂的「運算子(Operators)」是執行程式碼運算的項目,會根據運算子的優先順序來針對一個以上的「運算元(Operand)」項目進行運算。側如:10+90其運算子就是(+),而運算元就是(10和90)。
運算子的種類可以分為:
- 算術運算子(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 建構資訊系統實戰經典教本