运算符

所有运算符都定义为 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

相关内容