ExpressionType 枚举
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
介绍表达式树节点的节点类型。
public enum class ExpressionType
public enum ExpressionType
type ExpressionType =
Public Enum ExpressionType
- 继承
字段
| 名称 | 值 | 说明 |
|---|---|---|
| Add | 0 | 针对数字操作数的加法运算,例如 |
| AddAssign | 63 | 对数字操作数不执行溢出检查的加法复合赋值运算,例如 |
| AddAssignChecked | 74 | 对数字操作数执行溢出检查的加法复合赋值运算,例如 |
| AddChecked | 1 | 对数字操作数执行溢出检查的加法运算,例如 |
| And | 2 | 按位或逻辑 |
| AndAlso | 3 | 条件 |
| AndAssign | 64 | 按位或逻辑 |
| ArrayIndex | 5 | 一维数组中的索引操作,例如 |
| ArrayLength | 4 | 获取一维数组长度的操作,例如 |
| Assign | 46 | 赋值操作,例如 |
| Block | 47 | 表达式块。 |
| Call | 6 | 方法调用,如 表达式中的 |
| Coalesce | 7 | 表示 Null 合并操作的节点,例如 |
| Conditional | 8 | 条件操作,例如 |
| Constant | 9 | 常数值。 |
| Convert | 10 | 强制转换或转换操作,例如 |
| ConvertChecked | 11 | 强制转换或转换操作,例如 |
| DebugInfo | 48 | 调试信息。 |
| Decrement | 49 | 一元递减运算,例如 |
| Default | 51 | 默认值。 |
| Divide | 12 | 数值操作数的除法运算,如 |
| DivideAssign | 65 | 数值操作数的除法复合赋值运算,例如 |
| Dynamic | 50 | 动态操作。 |
| Equal | 13 | 表示相等比较的节点,例如 |
| ExclusiveOr | 14 | 按位或逻辑 |
| ExclusiveOrAssign | 66 | 按位或逻辑 |
| Extension | 52 | 扩展表达式。 |
| Goto | 53 | “转到”表达式,例如 |
| GreaterThan | 15 | “大于”比较,例如 |
| GreaterThanOrEqual | 16 | “大于或等于”比较,例如 |
| Increment | 54 | 一元递增运算,例如 |
| Index | 55 | 索引运算或访问使用参数的属性的运算。 |
| Invoke | 17 | 调用委托或 lambda 表达式的操作,例如 |
| IsFalse | 84 |
|
| IsTrue | 83 |
|
| Label | 56 | 标签。 |
| Lambda | 18 | Lambda 表达式,例如 |
| LeftShift | 19 | 按位左移运算,例如 |
| LeftShiftAssign | 67 | 按位左移复合赋值,例如 |
| LessThan | 20 | “小于”比较,例如 |
| LessThanOrEqual | 21 | “小于或等于”比较,例如 |
| ListInit | 22 | 一种操作,用于创建新 IEnumerable 对象并从元素列表(如 |
| Loop | 58 | 循环,例如 |
| MemberAccess | 23 | 从字段或属性(如 ) |
| MemberInit | 24 | 一种操作,用于创建新对象并初始化其一个或多个成员,例如 |
| Modulo | 25 | 算术余数运算,例如 |
| ModuloAssign | 68 | 算术余数复合赋值运算,例如 |
| Multiply | 26 | 对于数值操作数,不进行溢出检查的乘法运算,如 |
| MultiplyAssign | 69 | 一个乘法复合赋值运算,例如 |
| MultiplyAssignChecked | 75 | 对数值操作数进行溢出检查的乘法复合赋值运算,如 |
| MultiplyChecked | 27 | 对数值操作数进行溢出检查的乘法运算,如 |
| Negate | 28 | 算术求反运算,例如 |
| NegateChecked | 30 | 具有溢出检查的算术求反运算,例如 |
| New | 31 | 调用构造函数以创建新对象的操作,例如 |
| NewArrayBounds | 33 | 创建一个新数组的操作,其中指定了每个维度的边界,例如 |
| NewArrayInit | 32 | 一种操作,用于创建新的一维数组,并从元素列表(如 |
| Not | 34 | 按位求补运算或逻辑求反运算。 在 C# 中,对于整型类型,它等效于 ;对于布尔值,它等效 |
| NotEqual | 35 | 不相等比较,例如 |
| OnesComplement | 82 | 一个补码运算,例如 |
| Or | 36 | 按位或逻辑 |
| OrAssign | 70 | 按位或逻辑 |
| OrElse | 37 | 短路条件 |
| Parameter | 38 | 对在表达式上下文中定义的参数或变量的引用。 有关详细信息,请参阅 ParameterExpression。 |
| PostDecrementAssign | 80 | 一元后缀递减,例如 |
| PostIncrementAssign | 79 | 一元后缀增量,例如 |
| Power | 39 | 将数字提升到幂的数学运算,例如 |
| PowerAssign | 71 | 将数字提高到幂的复合赋值运算,例如 |
| PreDecrementAssign | 78 | 一元前缀递减,例如 |
| PreIncrementAssign | 77 | 一元前缀增量,例如 |
| Quote | 40 | 具有类型为 Expression 的常量值的表达式。 Quote 节点可包含对参数的引用,这些参数在该节点表示的表达式的上下文中定义。 |
| RightShift | 41 | 按位右移运算,例如 |
| RightShiftAssign | 72 | 按位右移复合赋值运算,例如 |
| RuntimeVariables | 57 | 运行时变量的列表。 有关详细信息,请参阅 RuntimeVariablesExpression。 |
| Subtract | 42 | 对数值操作数执行减法运算,例如 |
| SubtractAssign | 73 | 对数值操作数不执行溢出检查的减法复合赋值运算,例如 |
| SubtractAssignChecked | 76 | 对数值操作数进行溢出检查的减法复合赋值运算,如 |
| SubtractChecked | 43 | 对数值操作数进行溢出检查的算术减法运算,如 |
| Switch | 59 | 多分支选择运算,如 C# 中的 |
| Throw | 60 | 引发异常的操作,例如 |
| Try | 61 |
|
| TypeAs | 44 | 一个显式引用或装箱转换 |
| TypeEqual | 81 | 确切类型测试。 |
| TypeIs | 45 | 类型测试,例如 |
| UnaryPlus | 29 | 一元加运算,例如 |
| Unbox | 62 | 取消装箱值类型运算,如 MSIL 中的 |
注解
有关此类型的每个枚举值的详细信息,请参阅 动态语言运行时概述。