運算子
所有運算子都定義為 static methods
,它們不是 virtual
,它們不是繼承的。
運算子優先權
所有運算子都具有特定的優先順序,具體取決於運算子所屬的組(同一組的運算子具有相同的優先順序)。這意味著某些運算子將被應用於其以下是按優先順序排序的組(包含其各自的運算子)列表(最高的第一個):
-
主要運算子
a.b
- 會員訪問許可權。a?.b
- 空條件成員訪問。->
- 指標解除引用與成員訪問相結合。f(x)
- 函式呼叫。a[x]
- 索引器。a?[x]
- 空條件索引器。x++
- 字尾增量。x--
- Postfix 減量。new
- 型別例項化。default(T)
- 返回T
型別的預設初始化值。typeof
- 返回運算元的Type
物件。checked
- 啟用數字溢位檢查。unchecked
- 禁用數字溢位檢查。delegate
- 宣告並返回一個委託例項。sizeof
- 返回型別運算元的大小(以位元組為單位)。
-
一元運算子
+x
- 返回x
。-x
- 數字否定。!x
- 邏輯否定。~x
- 按位補碼/宣告解構函式。++x
- 字首增量。--x
- 字首遞減。(T)x
- 型轉換。await
- 等待一個人。&x
- 返回x
的地址(指標)。*x
- 指標解除引用。
-
乘法運算子
x * y
- 乘法。x / y
- 分部。x % y
- 模數。
-
加法運算子
x + y
- 加法。x – y
- 減法。
-
按位移位運算子
x << y
- 左移位。x >> y
- 右移位。
-
關係/型別測試運算子
x < y
- 不到。x > y
- 大於。x <= y
- 小於或等於。x >= y
- 大於或等於。is
- 型別相容性。as
- 型別轉換。
-
相等運算子
x == y
- 相等。x != y
- 不相等。
-
邏輯 AND 運算子
x & y
- 邏輯/按位 AND。
-
邏輯 XOR 運算子
x ^ y
- 邏輯/按位異或。
-
邏輯 OR 運算子
x | y
- 邏輯/按位 OR。
-
條件 AND 運算子
x && y
- 短路邏輯 AND。
-
條件 OR 運算子
x || y
- 短路邏輯或。
-
空結合運算子
x ?? y
- 如果x
不為 null,則返回x
; 否則,返回y
。
-
條件運算子
x ? y : z
- 如果x
為真,則評估/返回y
; 否則,評估z
。