C#運算符優先級


C#運算符優先級,是描述在計算機運算計算表達式時執行運算的先後順序。 先執行具有較高優先級的運算,然後執行較低優先級的運算。 例如,我們常說的先執行相乘和除,再執行加減運算。

優先級 運算符 名稱或含義 使用形式 結合方向 說明
1 [] 數組下標 數組名[整型表達式] 左到右  
() 圓括號 (表達式)/函數名(形參表)  
. 成員選擇(對象) 對象.成員名  
-> 成員選擇(指針) 對象指針->成員名  
2 - 負號運算符 -表達式 右到左 單目運算符
(類型) 強製類型轉換 (數據類型)表達式  
++ 自增運算符 ++變量名/變量名++ 單目運算符
-- 自減運算符 --變量名/變量名-- 單目運算符
* 取值運算符 *指針表達式 單目運算符
& 取地址運算符 &左值表達式 單目運算符
! 邏輯非運算符 !表達式 單目運算符
~ 按位取反運算符 ~表達式 單目運算符
sizeof 長度運算符 sizeof表達式/sizeof(類型)  
3 / 表達式/表達式 左到右 雙目運算符
* 表達式*表達式 雙目運算符
% 余數(取模) 整型表達式%整型表達式 雙目運算符
4 + 表達式+表達式 左到右 雙目運算符
- 表達式-表達式 雙目運算符
5 << 左移 表達式<<表達式 左到右 雙目運算符
>> 右移 表達式>>表達式 雙目運算符
6 > 大於 表達式>表達式 左到右 雙目運算符
>= 大於等於 表達式>=表達式 雙目運算符
< 小於 表達式<表達式 雙目運算符
<= 小於等於 表達式<=表達式 雙目運算符
7 == 等於 表達式==表達式 左到右 雙目運算符
!= 不等於 表達式!=表達式 雙目運算符
8 & 按位與 整型表達式&整型表達式 左到右 雙目運算符
9 ^ 按位異或 整型表達式^整型表達式 左到右 雙目運算符
10 | 按位或 整型表達式|整型表達式 左到右 雙目運算符
11 && 邏輯與 表達式&&表達式 左到右 雙目運算符
12 || 邏輯或 表達式||表達式 左到右 雙目運算符
13 ?: 條件運算符 表達式1?表達式2:表達式3 右到左 三目運算符
14 = 賦值運算符 變量=表達式 右到左  
/= 除後賦值 變量/=表達式  
*= 乘後賦值 變量*=表達式  
%= 取模後賦值 變量%=表達式  
+= 加後賦值 變量+=表達式  
-= 減後賦值 變量-=表達式  
<<= 左移後賦值 變量<<=表達式  
>>= 右移後賦值 變量>>=表達式  
&= 按位與後賦值 變量&=表達式  
^= 按位異或後賦值 變量^=表達式  
|= 按位或後賦值 變量|=表達式  
15 , 逗號運算符 表達式,表達式,… 左到右 從左向右順序運算