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