運算子

所有運算子都定義為 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

相關內容