ExpressionType 枚举

表达式树节点的节点类型。

字段描述
Add0

加法运算,如 a + b,针对数值操作数,不进行溢出检查。

AddAssign63

加法复合赋值运算,如 (a += b),针对数值操作数,不进行溢出检查。

AddAssignChecked74

加法复合赋值运算,如 (a += b),针对数值操作数,并进行溢出检查。

AddChecked1

加法运算,如 (a + b),针对数值操作数,进行溢出检查。

And2

按位或逻辑 AND 运算,如 C# 中的 (a & b) 和 Visual Basic 中的 (a And b)

AndAlso3

条件 AND 运算,它仅在第一个操作数的计算结果为 true 时才计算第二个操作数。 它对应于 C# 中的 (a && b) 和 Visual Basic 中的 (a AndAlso b)

AndAssign64

按位或逻辑 AND 复合赋值运算,如 C# 中的 (a &= b)

ArrayIndex5

一维数组中的索引运算,如 C# 中的 array[index] 或 Visual Basic 中的 array(index)

ArrayLength4

获取一维数组长长度的运算,如 array.Length

Assign46

赋值运算,如 (a = b)

Block47

表达式块。

Call6

方法调用,如在 obj.sampleMethod() 表达式中。

Coalesce7

表示 null 合并运算的节点,如 C# 中的 (a ?? b) 或 Visual Basic 中的 If(a, b)

Conditional8

条件运算,如 C# 中的 a > b ? a : b 或 Visual Basic 中的 If(a > b, a, b)

Constant9

一个常量值。

Convert10

强制转换或转换操作,如 C# 中的 (SampleType)obj 或 Visual Basic 中的 CType(obj, SampleType)。 对于数值转换,如果转换后的值对于目标类型来说太大,这不会引发异常。

ConvertChecked11

强制转换或转换操作,如 C# 中的 (SampleType)obj 或 Visual Basic 中的 CType(obj, SampleType)。 对于数值转换,如果转换后的值与目标类型大小不符,则引发异常。

DebugInfo48

调试信息。

Decrement49

一元递减运算,如 C# 和 Visual Basic 中的 (a - 1)。 不应就地修改 a 对象。

Default51

默认值。

Divide12

除法运算,如 (a / b),针对数值操作数。

DivideAssign65

除法复合赋值运算,如 (a /= b),针对数值操作数。

Dynamic50

动态操作。

Equal13

表示相等比较的节点,如 C# 中的 (a == b) 或 Visual Basic 中的 (a = b)

ExclusiveOr14

按位或逻辑 XOR 运算,如 C# 中的 (a ^ b) 和 Visual Basic 中的 (a Xor b)

ExclusiveOrAssign66

按位或逻辑 XOR 复合赋值运算,如 C# 中的 (a ^= b)

Extension52

扩展表达式。

Goto53

“转到”表达式,如 C# 中的 goto Label 或 Visual Basic 中的 GoTo Label

GreaterThan15

“大于”比较,如 (a > b)

GreaterThanOrEqual16

“大于或等于”比较,如 (a >= b)

Increment54

一元递增运算,如 C# 和 Visual Basic 中的 (a + 1)。 不应就地修改 a 对象。

Index55

索引运算或访问使用参数的属性的运算。

Invoke17

调用委托或 lambda 表达式的运算,如 sampleDelegate.Invoke()

IsFalse84

false 条件值。

IsTrue83

true 条件值。

Label56

标签。

Lambda18

lambda 表达式,如 C# 中的 a => a + a 或 Visual Basic 中的 Function(a) a + a

LeftShift19

按位左移运算,如 (a << b)

LeftShiftAssign67

按位左移复合赋值运算,如 (a <<= b)

LessThan20

“小于”比较,如 (a < b)

LessThanOrEqual21

“小于或等于”比较,如 (a <= b)

ListInit22

创建新的 IEnumerable 对象并从元素列表中初始化该对象的运算,如 C# 中的 new List<SampleType>(){ a, b, c } 或 Visual Basic 中的 Dim sampleList = { a, b, c }

Loop58

一个循环,例如 for 或 while

MemberAccess23

从字段或属性进行读取的运算,如 obj.SampleProperty

MemberInit24

创建新的对象并初始化其一个或多个成员的运算,如 C# 中的 new Point { X = 1, Y = 2 } 或 Visual Basic 中的 New Point With {.X = 1, .Y = 2}

Modulo25

算术余数运算,如 C# 中的 (a % b) 或 Visual Basic 中的 (a Mod b)

ModuloAssign68

算术余数复合赋值运算,如 C# 中的 (a %= b)

Multiply26

乘法运算,如 (a * b),针对数值操作数,不进行溢出检查。

MultiplyAssign69

乘法复合赋值运算,如 (a *= b),针对数值操作数,不进行溢出检查。

MultiplyAssignChecked75

乘法复合赋值运算,如 (a *= b),针对数值操作数,进行溢出检查。

MultiplyChecked27

乘法运算,如 (a * b),针对数值操作数,进行溢出检查。

Negate28

算术求反运算,如 (-a)。 不应就地修改 a 对象。

NegateChecked30

算术求反运算,如 (-a),进行溢出检查。 不应就地修改 a对象。

New31

调用构造函数创建新对象的运算,如 new SampleType()

NewArrayBounds33

创建新数组(其中每个维度的界限均已指定)的运算,如 C# 中的 new SampleType[dim1, dim2] 或 Visual Basic 中的 New SampleType(dim1, dim2)

NewArrayInit32

创建新的一维数组并从元素列表中初始化该数组的运算,如 C# 中的 new SampleType[]{a, b, c} 或 Visual Basic 中的 New SampleType(){a, b, c}

Not34

按位求补运算或逻辑求反运算。 在 C# 中,它与整型的 (~a)和布尔值的 (!a) 等效。 在 Visual Basic 中,它与 (Not a)等效。 不应就地修改 a 对象。

NotEqual35

不相等比较,如 C# 中的 (a != b) 或 Visual Basic 中的 (a <> b)

OnesComplement82

二进制反码运算,如 C# 中的 (~a)

Or36

按位或逻辑 OR 运算,如 C# 中的 (a | b) 和 Visual Basic 中的 (a Or b)

OrAssign70

按位或逻辑 OR 复合赋值运算,如 C# 中的 (a |= b)

OrElse37

短路条件 OR 运算,如 C# 中的 (a || b) 或 Visual Basic 中的 (a OrElse b)

Parameter38

对在表达式上下文中定义的参数或变量的引用。 有关详情,请参阅ParameterExpression

PostDecrementAssign80

一元后缀递减,如 (a--)。 应就地修改 a 对象。

PostIncrementAssign79

一元后缀递增,如 (a++)。 应就地修改 a 对象。

Power39

对某个数字进行幂运算的数学运算,如 Visual Basic 中的 (a ^ b)

PowerAssign71

对某个数字进行幂运算的复合赋值运算,如 Visual Basic 中的(a ^= b)

PreDecrementAssign78

一元前缀递减,如 (--a)。 应就地修改 a 对象。

PreIncrementAssign77

一元前缀递增,如 (++a)。 应就地修改 a 对象。

Quote40

具有类型为 Expression 的常量值的表达式。 Quote 节点可包含对参数的引用,这些参数在该节点表示的表达式的上下文中定义。

RightShift41

按位右移运算,如 (a >> b)

RightShiftAssign72

按位右移复合赋值运算,如 (a >>= b)

RuntimeVariables57

运行时变量的列表。 有关详情,请参阅RuntimeVariablesExpression

Subtract42

减法运算,如 (a - b),针对数值操作数,不进行溢出检查。

SubtractAssign73

减法复合赋值运算,如 (a -= b),针对数值操作数,不进行溢出检查。

SubtractAssignChecked76

减法复合赋值运算,如 (a -= b),针对数值操作数,进行溢出检查。

SubtractChecked43

算术减法运算,如 (a - b),针对数值操作数,进行溢出检查。

Switch59

多分支选择运算,如 C# 中的 switch 或 Visual Basic 中的 Select Case

Throw60

引发异常的运算,如引发新异常()

Try61

try-catch 表达式。

TypeAs44

显式引用或装箱转换,其中如果转换失败则提供 null,如 C# 中的 (obj as SampleType) 或 Visual Basic 中的 TryCast(obj, SampleType)

TypeEqual81

确切类型测试。

TypeIs45

类型测试,如 C# 中的 obj is SampleType 或 Visual Basic 中的 TypeOf obj is SampleType

UnaryPlus29

一元加法运算,如 (+a)。 预定义的一元加法运算的结果是操作数的值,但用户定义的实现可以产生特殊结果。

Unbox62

取消装箱值类型运算,如 MSIL 中的 unbox 和 unbox.any 指令。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值