C# 运算符的优先级和关联性
表1?顯示了 C#運算符的優先級,其中頂部的運算符有最高的優先級(即在包
含多個運算符的表達式中,最先計算該運算符)。
除了運算符優先級,對于二元運算符,需要注意運算符是從左向右還是從右向左計算。除了少數運算符,所有的二元運算符都是左關聯的。例如:
x + y + z
就等于:
(x + y) + z
需要先注意運算符的優先級,再考慮其關聯性。在以下表達式中,先計算 y 和 z 相乘,再把計算的結果分配給 x,因為乘法的優先級高于加法:
x + y * z
“
關聯性的重要例外是賦值運算符,它們是右關聯。下面的表達式從右向左計算:
?x = y = z
因為存在右關聯性,所有變量 x、y、z 的值都是 3,且該運算符是從右向左計算的。如果這個運算符是從左向右計算,就不會是這種情況:
int z = 3;?
int y = 2;?
int x = 1;?
x = y = z;
”
一個重要的、可能誤導的右關聯運算符是條件運算符。表達式?
a ? b: c ? d: e
等于:
a = b: (c ? d: e)
這是因為該運算符是右關聯的。
注意
在復雜的表達式中,應避免利用運算符優先級來生成正確的結果。使用圓括號指定運算符的執行順序,可以使代碼更整潔,避免出現潛在的沖突。
往期推薦
- C# 迭代器 
- C# 執行 SQL 語句 
- C# 連接數據庫 
- C# 接口的實現與繼承 
- C# 泛型的使用 
Love life,love yourself
關注小編不迷路呦~
總結
以上是生活随笔為你收集整理的C# 运算符的优先级和关联性的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 2021年全球知名开源项目大更新
- 下一篇: 备份恢复与同步(数据搬运专家)
