标签:复合 abs als col 成员 ++ 调用 匿名 .com
表达式是在操作数和运算符的基础之上构造而成。 表达式的运算符指明了向操作数应用的运算。 运算符的示例包括 +
、-
、*
、/
和 new
。 操作数的示例包括文本、字段、局部变量和表达式。
如果表达式包含多个运算符,那么运算符的优先级决定了各个运算符的计算顺序。 例如,表达式 x + y * z
相当于计算 x + (y * z)
,因为 *
运算符的优先级高于 +
运算符。
如果操作数两边的两个运算符的优先级相同,那么运算符的结合性决定了运算的执行顺序:
x + y + z
将计算为 (x + y) + z
。?:
) 为右结合运算符,即从右向左执行运算。 例如,x = y = z
将计算为 x = (y = z)
。可以使用括号控制优先级和结合性。 例如,x + y * z
先计算 y
乘 z
,并将结果与 x
相加,而 (x + y) * z
则先计算 x
加 y
,然后将结果与 z
相乘。
大多数运算符都可以重载。 借助运算符重载,可以为一个或两个操作数为用户定义类或结构类型的运算指定用户定义运算符实现代码。
下面总结了 C# 运算符,按优先级从高到低的顺序列出了各类运算符。 同一类别的运算符的优先级也相同。 每个类别下均列出了相应类别的表达式,以及对每种表达式类型的说明。
x.m
:成员访问x(...)
:方法和委托调用x[...]
:数组和索引器访问x++
:后置递增x--
:后置递减new T(...)
:创建对象和委托new T(...){...}
:使用初始值设定项的对象创建new {...}
:匿名对象初始值设定项new T[...]
:数组创建typeof(T)
:获取 T
的 Type 对象checked(x)
:在已检查的上下文中计算表达式unchecked(x)
:在未检查的上下文中计算表达式default(T)
:获取类型为 T
的默认值delegate {...}
:匿名函数(匿名方法)+x
:标识-x
:取反!x
:逻辑取反~x
:按位取反++x
:前置递增--x
:前置递减(T)x
:将 x
显式转换成类型 T
await x
:异步等待 x
完成x * y
:乘法x / y
:除法x % y
:求余x + y
:加法、字符串串联、委托组合x – y
:减法、委托删除x << y
:左移位x >> y
:右移位x < y
:小于x > y
:大于x <= y
:小于或等于x >= y
:大于或等于x is T
:如果 x
是 T
,返回 true
;否则,返回 false
x as T
:返回类型为 T
的 x
;如果 x
的类型不是 T
,返回 null
x == y
:等于x != y
:不等于x & y
:整数型位AND,布尔型逻辑 ANDx ^ y
:整数型位 XOR,布尔型逻辑 XORx | y
:整数型位 OR,布尔型逻辑 ORx && y
:仅当 x
不是 false
时,才计算 y
x || y
:仅当 x
不是 true
时,才计算 y
x ?? y
:如果 x
为 null,计算结果为 y
;否则,计算结果为 x
x ? y : z
:如果 x
为 true
,计算 y
;如果 x
为 false
,计算 z
x = y
:赋值x op= y
:复合赋值;支持以下运算符
*=
/=
%=
+=
-=
<<=
>>=
&=
^=
|=
(T x) => y
:匿名函数(lambda 表达式)标签:复合 abs als col 成员 ++ 调用 匿名 .com
原文地址:https://www.cnblogs.com/lzfsuifeng/p/9109164.html