运算符按接受操作数个数分为单元运算符, 二元运算符, 三元运算符。按照用途可分为:算术运算符比较运算符布尔运算符位运算符相等运算符等。一般来说, 运算符只对内置基本类型有效, 可以重载运算符, 来实现对自定义类型或对象的支持。一个表达式使用到多个运算符时, 表达式计算顺序遵循优先级规则, 但小括号括起来的拥有优先计算的权利。

csharp 支持的运算符总览

x.y、f(x)、a[i]、x?.y、x?[y]、x++、x—、x!、new、typeof、checked、unchecked、default、nameof、delegate、sizeof、stackalloc、xy、 +x、-x、x、~x、++x、—x、^x、(T)x、await、&&x、*x、true 和 false、 x..y、switch、with、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、x & y、x ^ y、x | y、 x && y、x || y、x ?? y、c ? t : f、x = y、x += y、x -= y、x *= y、x /= y、x %= y、x &= y、x |= y、x ^= y、x < y、x >>= y、x ??= y、

算术运算符

包括基本的加减乘除, 取余等

比较运算符

大于, 小于, 等于, 大于等于, 小于等于等

布尔运算符

与或非

位运算符

左右移位, 按位取反, 位与或, 位异或

优先级

运算符类别
x.y、f(x)、a[i]、x?.y、x?[y]、x++、x—、x!、new、typeof、checked、unchecked、default、nameof、delegate、sizeof、stackalloc、xy主要
+x、-x、x、~x、++x、—x、^x、(T)x、await、&&x、*x、true 和 false一元
x..y范围
switch、withswitch 和 with 表达式
x * y、x / y、x % y乘法
x + y、x – y加法
x << y、x >> yShift
x < y、x > y、x y、x >= y、is、as关系和类型测试
x == y、x != y相等
x & y布尔逻辑 AND 或按位逻辑 AND
x ^ y布尔逻辑 XOR 或按位逻辑 XOR
x| y布尔逻辑 OR 或按位逻辑 OR
x || y条件“或”
c ? t : f条件运算符
x = y、x += y、x -= y、x *= y、x /= y、x %= y、x &= y、x |= y、x ^= y、x < y、x >>= y、x ??= y、赋值和 lambda 声明

特殊运算符

特殊操作符

更多请参考官方文档