这篇文章详细介绍了Expression操作运算符、表达式和操作方法总结,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
一、Expression中的操作运算符
| 成员名称 | 说明 | 
|---|---|
| Add | 加法运算,如 a + b, ,不进行溢出检查,针对数值操作数。 | 
| AddAssign | 加法复合赋值运算,如 (a += b), ,不进行溢出检查,针对数值操作数。 | 
| AddAssignChecked | 加法复合赋值运算,如 (a += b), ,进行溢出检查,针对数值操作数。 | 
| AddChecked | 加法运算,如 (a + b), ,进行溢出检查,针对数值操作数。 | 
| And | 按位或逻辑 AND 操作,如 (a & b) 在 C# 和 (a And b) 在 Visual Basic 中。 | 
| AndAlso | 在条件 AND 仅当第一个操作数的计算结果为才计算第二个操作数的操作 true。 它对应于 (a && b) 在 C# 和 (a AndAlso b) 在 Visual Basic 中。 | 
| AndAssign | 按位或逻辑 AND 复合赋值运算,如 (a &= b) C# 中。 | 
| ArrayIndex | 索引操作在一维数组中,如 array[index] 在 C# 或 array(index) 在 Visual Basic 中。 | 
| ArrayLength | 获取一维数组的长度,如操作 array.Length。 | 
| Assign | 赋值运算,如 (a = b)。 | 
| Block | 表达式的块。 | 
| Call | 某个方法调用,如在 obj.sampleMethod() 表达式。 | 
| Coalesce | 一个表示空合并操作,如节点 (a ?? b) 在 C# 或 If(a, b) 在 Visual Basic 中。 | 
| Conditional | 条件运算,如 a > b ? a : b 在 C# 或 If(a > b, a, b) 在 Visual Basic 中。 | 
| Constant | 常量的值。 | 
| Convert | 强制转换或转换操作中,如 (SampleType)obj C# 中或 CType(obj, SampleType) 在 Visual Basic 中。 对于数值的转换,如果转换后的值对于目标类型来说太大不引发异常。 | 
| ConvertChecked | 强制转换或转换操作中,如 (SampleType)obj C# 中或 CType(obj, SampleType) 在 Visual Basic 中。 对于数值的转换,如果转换后的值不符合目标类型是引发异常。 | 
| DebugInfo | 调试信息。 | 
| Decrement | 一元递减操作,如 (a - 1) C# 和 Visual Basic 中。 该对象 a 不应就地修改。 | 
| Default | 默认值。 | 
| Divide | 除法运算,如 (a / b), ,针对数值操作数。 | 
| DivideAssign | 除的复合赋值运算,如 (a /= b), ,针对数值操作数。 | 
| Dynamic | 动态操作。 | 
| Equal | 一个表示相等比较,如节点 (a == b) 在 C# 或 (a = b) 在 Visual Basic 中。 | 
| ExclusiveOr | 按位或逻辑 XOR 操作,如 (a ^ b) 在 C# 或 (a Xor b) 在 Visual Basic 中。 | 
| ExclusiveOrAssign | 按位或逻辑 XOR 复合赋值运算,如 (a ^= b) C# 中。 | 
| Extension | 扩展表达式。 | 
| Goto | 一个"转到"表达式,如 goto Label 在 C# 或 GoTo Label 在 Visual Basic 中。 | 
| GreaterThan | "大于"比较,如 (a > b)。 | 
| GreaterThanOrEqual | "大于或等于"比较,如 (a >= b)。 | 
| Increment | 一元递增操作,如 (a + 1) C# 和 Visual Basic 中。 该对象 a 不应就地修改。 | 
| Index | 索引操作或访问不采用参数的属性的操作。 | 
| Invoke | 操作调用的委托或 lambda 表达式,如 sampleDelegate.Invoke()。 | 
| IsFalse | 一个 false 条件值。 | 
| IsTrue | 一个 true 条件值。 | 
| Label | 标签。 | 
| Lambda | Lambda 表达式,如 a => a + a 在 C# 或 Function(a) a + a 在 Visual Basic 中。 | 
| LeftShift | 按位左移运算,如 (a << b)。 | 
| LeftShiftAssign | 按位左移复合赋值运算,如 (a <<= b)。 | 
| LessThan | "小于"比较,如 (a < b)。 | 
| LessThanOrEqual | "小于或等于"比较,如 (a <= b)。 | 
| ListInit | 创建一个新的操作的 IEnumerable 对象,并对其进行初始化从列表中的元素,如 new List<SampleType>(){ a, b, c } 在 C# 或 Dim sampleList = { a, b, c } 在 Visual Basic 中。 | 
| Loop | 一个循环,如 for 或 while。 | 
| MemberAccess | 从一个字段或属性,如读取操作 obj.SampleProperty。 | 
| MemberInit | 运算,创建一个新的对象并初始化一个或多个成员,如 new Point { X = 1, Y = 2 } 在 C# 或 New Point With {.X = 1, .Y = 2} 在 Visual Basic 中。 | 
| Modulo | 算术余数运算,如 (a % b) 在 C# 或 (a Mod b) 在 Visual Basic 中。 | 
| ModuloAssign | 算术余数复合赋值运算,如 (a %= b) C# 中。 | 
| Multiply | 乘法运算,如 (a * b), ,不进行溢出检查,针对数值操作数。 | 
| MultiplyAssign | 乘法复合赋值运算,如 (a *= b), ,不进行溢出检查,针对数值操作数。 | 
| MultiplyAssignChecked | 乘法复合赋值运算,如 (a *= b), ,,进行溢出检查,针对数值操作数。 | 
| MultiplyChecked | 乘法运算,如 (a * b), ,,进行溢出检查,针对数值操作数。 | 
| Negate | 算术求反运算,如 (-a)。 该对象 a 不应就地修改。 | 
| NegateChecked | 算术求反运算,如 (-a), ,,进行溢出检查。 该对象 a 不应就地修改。 | 
| New | 调用构造函数以创建新的对象,如操作 new SampleType()。 | 
| NewArrayBounds | 创建一个新数组,其中每个维度的下限指定,如操作 new SampleType[dim1, dim2] 在 C# 或 New SampleType(dim1, dim2) 在 Visual Basic 中。 | 
| NewArrayInit | 操作,创建一个新的一维数组并对其进行初始化从列表中的元素,如 new SampleType[]{a, b, c} 在 C# 或New SampleType(){a, b, c} 在 Visual Basic 中。 | 
| Not | 按位求补或逻辑求反运算。 在 C# 中,则等同于 (~a) 整型和 (!a) 布尔值。 在 Visual Basic 中,则等同于 (Not a)。 该对象 a 不应就地修改。 | 
| NotEqual | 不相等比较,如 (a != b) 在 C# 或 (a <> b) 在 Visual Basic 中。 | 
| OnesComplement | 一个二进制反码运算,如 (~a) C# 中。 | 
| Or | 按位或逻辑 OR 操作,如 (a | b) 在 C# 或 (a Or b) 在 Visual Basic 中。 | 
| OrAssign | 按位或逻辑 OR 复合赋值运算,如 (a |= b) C# 中。 | 
| OrElse | 短路条件 OR 操作,如 (a || b) 在 C# 或 (a OrElse b) 在 Visual Basic 中。 | 
| Parameter | 对参数或变量的表达式的上下文中定义的引用。 有关更多信息,请参见ParameterExpression。 | 
| PostDecrementAssign | 一元后缀递减,如 (a--)。 该对象 a 应就地修改。 | 
| PostIncrementAssign | 一元后缀递增,如 (a++)。 该对象 a 应就地修改。 | 
| Power | 如引发数字进行幂运算的数学运算 (a ^ b) 在 Visual Basic 中。 | 
| PowerAssign | 如引发数字进行幂运算的复合赋值运算 (a ^= b) 在 Visual Basic 中。 | 
| PreDecrementAssign | 一元前缀递减,如 (--a)。 该对象 a 应就地修改。 | 
| PreIncrementAssign | 一元前缀递增,如 (++a)。 该对象 a 应就地修改。 | 
| Quote | 具有类型的常量值的表达式 Expression。 一个 Quote 节点可以包含对它所代表的表达式的上下文中定义的参数的引用。 | 
| RightShift | 按位右移运算,如 (a >> b)。 | 
| RightShiftAssign | 按位右移复合赋值运算,如 (a >>= b)。 | 
| RuntimeVariables | 运行时变量的列表。 有关详细信息,请参阅RuntimeVariablesExpression。 | 
| Subtract | 减法运算,如 (a - b), ,不进行溢出检查,针对数值操作数。 | 
| SubtractAssign | 减法复合赋值运算,如 (a -= b), ,不进行溢出检查,针对数值操作数。 | 
| SubtractAssignChecked | 减法复合赋值运算,如 (a -= b), ,,进行溢出检查,针对数值操作数。 | 
| SubtractChecked | 算术减法运算,如 (a - b), ,,进行溢出检查,针对数值操作数。 | 
| Switch | 一个切换操作,如 switch 在 C# 或 Select Case 在 Visual Basic 中。 | 
| Throw | 引发异常,如操作 throw new Exception()。 | 
| Try | 一个 try-catch 表达式。 | 
| TypeAs | 显式引用或装箱转换在其中 null 如果转换失败,如提供 (obj as SampleType) 在 C# 或 TryCast(obj, SampleType) 在 Visual Basic 中。 | 
| TypeEqual | 确切类型测试。 | 
| TypeIs | 一种类型测试,如 obj is SampleType 在 C# 或 TypeOf obj is SampleType 在 Visual Basic 中。 | 
| UnaryPlus | 一元正运算,如 (+a)。 预定义的一元正运算的结果是操作数的值,但用户定义的实现可能有不寻常的结果。 | 
| Unbox | 取消装箱值类型的操作,如 unbox 和 unbox.any MSIL 中的说明。 | 
二、Expression分类与操作运算符
| Expression | 操作说明 | 
|---|---|
| BinaryExpression | 表示具有二进制运算符的表达式 | 
| UnaryExpression | 表示具有一元运算符的表达式 | 
| BlockExpression | 表示包含一个表达式序列的块,表达式中可定义变量 | 
| ConditionalExpression | 表示具有条件运算符的表达式 | 
| ConstantExpression | 表示具有常数值的表达式 | 
| DefaultExpression | 表示一个类型或空表达式的默认值 | 
| DynamicExpression | 表示一个动态操作 | 
| GotoExpression | 表示无条件跳转。 这包括返回语句,break 和 continue 语句以及其他跳转。 | 
| IndexExpression | 表示对一个属性或数组进行索引 | 
| InvocationExpression | 表示一个将委托或 lambda 表达式应用到一个自变量表达式列表的表达式 | 
| LabelExpression | 表示一个标签,可以放置在任何 Expression 上下文。 如果它跳转到,它会提供相应的值 GotoExpression。 否则,它接收中的值 DefaultValue。 如果 Type 等于 System.Void,则应提供任何值 | 
| LambdaExpression | 介绍 lambda 表达式。 它捕获一个类似于 .NET 方法主体的代码块 | 
| ListInitExpression | 表示具有集合初始值设定项的构造函数调用 | 
| LoopExpression | 表示无限循环。 可通过“中断”退出该循环 | 
| MemberExpression | 表示访问字段或属性 | 
| MemberInitExpression | 表示调用构造函数并初始化新对象的一个或多个成员 | 
| MethodCallExpression | 表示对静态方法或实例方法的调用 | 
| NewArrayExpression | 表示创建一个新数组,并可能初始化该新数组的元素 | 
| NewExpression | 表示一个构造函数调用 | 
| ParameterExpression | 表示一个命名的参数表达式 | 
| SwitchExpression | 表示通过将控制权传递给处理多个选择的控件表达式 SwitchCase | 
| TryExpression | 表示一个 try/catch/finally/fault 块 | 
| TypeBinaryExpression | 表示表达式和类型之间的操作 | 
三、Expression的操作方法
| 名称 | 说明 | 
|---|---|
| Accept(ExpressionVisitor) | 调度到此节点类型的特定 Visit 方法。 例如,MethodCallExpression 调用 VisitMethodCall。 | 
| Add(Expression, Expression) | 创建一个表示不进行溢出检查的算术加法运算的 BinaryExpression。 | 
| Add(Expression, Expression, MethodInfo) | 创建一个表示不进行溢出检查的算术加法运算的 BinaryExpression。 可指定实现方法。 | 
| AddAssign(Expression, Expression) | 创建一个表示不进行溢出检查的加法赋值运算的 BinaryExpression。 | 
| AddAssign(Expression, Expression, MethodInfo) | 创建一个表示不进行溢出检查的加法赋值运算的 BinaryExpression。 | 
| AddAssign(Expression, Expression, MethodInfo, LambdaExpression) | 创建一个表示不进行溢出检查的加法赋值运算的 BinaryExpression。 | 
| AddAssignChecked(Expression, Expression) | 创建一个表示进行溢出检查的加法赋值运算的 BinaryExpression。 | 
| AddAssignChecked(Expression, Expression, MethodInfo) | 创建一个表示进行溢出检查的加法赋值运算的 BinaryExpression。 | 
| AddAssignChecked(Expression, Expression, MethodInfo, LambdaExpression) | 创建一个表示进行溢出检查的加法赋值运算的 BinaryExpression。 | 
| AddChecked(Expression, Expression) | 创建一个表示进行溢出检查的算术加法运算的 BinaryExpression。 | 
| AddChecked(Expression, Expression, MethodInfo) | 创建一个表示进行溢出检查的算术加法运算的 BinaryExpression。 可指定实现方法。 | 
| And(Expression, Expression) | 创建一个表示按位 BinaryExpression 运算的 AND。 | 
| And(Expression, Expression, MethodInfo) | 创建一个表示按位 BinaryExpression 运算的 AND。 可指定实现方法。 | 
| AndAlso(Expression, Expression) | 创建一个 BinaryExpression,它表示仅在第一个操作数的计算结果为 AND 时才计算第二个操作数的条件 true 运算。 | 
| AndAlso(Expression, Expression, MethodInfo) | 创建一个 BinaryExpression,它表示仅在第一个操作数解析为 true 时,才计算第二个操作数的条件 AND 运算。 可指定实现方法。 | 
| AndAssign(Expression, Expression) | 创建一个表示按位 AND 赋值运算的 BinaryExpression。 | 
| AndAssign(Expression, Expression, MethodInfo) | 创建一个表示按位 AND 赋值运算的 BinaryExpression。 | 
| AndAssign(Expression, Expression, MethodInfo, LambdaExpression) | 创建一个表示按位 AND 赋值运算的 BinaryExpression。 | 
| ArrayAccess(Expression, Expression[]) | 创建一个用于访问数组的 IndexExpression。 | 
| ArrayAccess(Expression, IEnumerable<Expression>) | 创建一个用于访问多维数组的 IndexExpression。 | 
| ArrayIndex(Expression, Expression) | 创建一个 BinaryExpression,它表示将数组索引运算符应用到级别一的数组中。 | 
| ArrayIndex(Expression, Expression[]) | 创建一个 MethodCallExpression,它表示将数组索引运算符应用到多维数组中。 | 
| ArrayIndex(Expression, IEnumerable<Expression>) | 创建一个 MethodCallExpression,它表示将数组索引运算符应用到多个级别的数组中。 | 
| ArrayLength(Expression) | 创建一个 UnaryExpression,它表示获取一维数组的长度的表达式。 | 
| Assign(Expression, Expression) | 创建一个表示赋值运算的 BinaryExpression。 | 
| Bind(MemberInfo, Expression) | 创建一个 MemberAssignment,它表示字段或属性的初始化。 | 
| Bind(MethodInfo, Expression) | 使用属性访问器方法,创建一个表示成员初始化的 MemberAssignment。 | 
| Block(Expression, Expression) | 创建一个 BlockExpression,其中包含两个表达式,但不包含任何变量。 | 
| Block(Expression, Expression, Expression) | 创建一个 BlockExpression,其中包含三个表达式,但不包含任何变量。 | 
| Block(Expression, Expression, Expression, Expression) | 创建一个 BlockExpression,其中包含四个表达式,但不包含任何变量。 | 
| Block(Expression, Expression, Expression, Expression, Expression) | 创建一个 BlockExpression,其中包含五个表达式,但不包含任何变量。 | 
| Block(Expression[]) | 创建一个 BlockExpression,其中包含给定表达式,但不包含任何变量。 | 
| Block(IEnumerable<Expression>) | 创建一个 BlockExpression,其中包含给定表达式,但不包含任何变量。 | 
| Block(IEnumerable<ParameterExpression>, Expression[]) | 创建一个 BlockExpression,其中包含给定的变量和表达式。 | 
| Block(IEnumerable<ParameterExpression>, IEnumerable<Expression>) | 创建一个 BlockExpression,其中包含给定的变量和表达式。 | 
| Block(Type, Expression[]) | 创建一个 BlockExpression,其中包含给定表达式和特定结果类型,但不包含任何变量。 | 
| Block(Type, IEnumerable<Expression>) | 创建一个 BlockExpression,其中包含给定表达式和特定结果类型,但不包含任何变量。 | 
| Block(Type, IEnumerable<ParameterExpression>, Expression[]) | 创建一个 BlockExpression,其中包含给定的变量和表达式。 | 
| Block(Type, IEnumerable<ParameterExpression>, IEnumerable<Expression>) | 创建一个 BlockExpression,其中包含给定的变量和表达式。 | 
| Break(LabelTarget) | 创建一个表示 break 语句的 GotoExpression。 | 
| Break(LabelTarget, Expression) | 创建一个表示 break 语句的 GotoExpression。 可以指定在跳转时传递给标签的值。 | 
| Break(LabelTarget, Expression, Type) | 创建一个表示具有指定类型的 break 语句的 GotoExpression。 可以指定在跳转时传递给标签的值。 | 
| Break(LabelTarget, Type) | 创建一个表示具有指定类型的 break 语句的 GotoExpression。 | 
| Call(Expression, MethodInfo) | 创建一个 MethodCallExpression,它表示调用不带参数的方法。 | 
| Call(Expression, MethodInfo, Expression, Expression) | 创建一个 MethodCallExpression,它表示对采用两个参数的方法的调用。 | 
| Call(Expression, MethodInfo, Expression, Expression, Expression) | 创建一个 MethodCallExpression,它表示对使用三个参数的方法的调用。 | 
| Call(Expression, MethodInfo, Expression[]) | 创建一个表示调用带参数的方法的 MethodCallExpression。 | 
| Call(Expression, MethodInfo, IEnumerable<Expression>) | 创建一个表示调用带参数的方法的 MethodCallExpression。 | 
| Call(Expression, String, Type[], Expression[]) | 通过调用合适的工厂方法,创建一个 MethodCallExpression,它表示方法调用。 | 
| Call(MethodInfo, Expression) | 创建一个 MethodCallExpression,它表示对使用一个参数的 static 方法(在 Visual Basic 中为 Shared 方法)的调用。 | 
| Call(MethodInfo, Expression, Expression) | 创建一个 MethodCallExpression,它表示对使用两个参数的静态方法的调用。 | 
| Call(MethodInfo, Expression, Expression, Expression) | 创建一个 MethodCallExpression,它表示对使用三个参数的静态方法的调用。 | 
| Call(MethodInfo, Expression, Expression, Expression, Expression) | 创建一个 MethodCallExpression,它表示对使用四个参数的静态方法的调用。 | 
| Call(MethodInfo, Expression, Expression, Expression, Expression, Expression) | 创建一个 MethodCallExpression,它表示对使用五个参数的静态方法的调用。 | 
| Call(MethodInfo, Expression[]) | 创建一个 MethodCallExpression,它表示调用有参数的 static(在 Visual Basic 中为 Shared)方法。 | 
| Call(MethodInfo, IEnumerable<Expression>) | 创建一个 MethodCallExpression,它表示对 static 方法(在 Visual Basic 中为 Shared 方法)的调用。 | 
| Call(Type, String, Type[], Expression[]) | 通过调用合适的工厂方法,创建一个 MethodCallExpression,它表示对 static(在 Visual Basic 中为 Shared)方法的调用。 | 
| Catch(ParameterExpression, Expression) | 创建一个表示 catch 语句的 CatchBlock,其中具有对已捕获的 Exception 对象的引用以便在处理程序主体中使用。 | 
| Catch(ParameterExpression, Expression, Expression) | 创建一个表示 catch 语句的 CatchBlock,其中具有 Exception 筛选器和对已捕获的 Exception 对象的引用。 | 
| Catch(Type, Expression) | 创建一个表示 catch 语句的 CatchBlock。 | 
| Catch(Type, Expression, Expression) | 创建一个表示 catch 语句的 CatchBlock,其中具有 Exception 筛选器,但没有对已捕获的 Exception 对象的引用。 | 
| ClearDebugInfo(SymbolDocumentInfo) | 创建一个用于清除序列点的 DebugInfoExpression。 | 
| Coalesce(Expression, Expression) | 创建一个表示合并运算的 BinaryExpression。 | 
| Coalesce(Expression, Expression, LambdaExpression) | 在给定转换函数的情况下,创建一个表示合并运算的 BinaryExpression。 | 
| Condition(Expression, Expression, Expression) | 创建一个表示条件语句的 ConditionalExpression。 | 
| Condition(Expression, Expression, Expression, Type) | 创建一个表示条件语句的 ConditionalExpression。 | 
| Constant(Object) | 创建一个 ConstantExpression,它把 Value 属性设置为指定值。 | 
| Constant(Object, Type) | 创建一个 ConstantExpression,它把 Value 和 Type 属性设置为指定值。 | 
| Continue(LabelTarget) | 创建一个表示 continue 语句的 GotoExpression。 | 
| Continue(LabelTarget, Type) | 创建一个表示具有指定类型的 continue 语句的 GotoExpression。 | 
| Convert(Expression, Type) | 创建一个表示类型转换运算的 UnaryExpression。 | 
| Convert(Expression, Type, MethodInfo) | 创建一个 UnaryExpression,它表示为其指定实现方法的转换运算。 | 
| ConvertChecked(Expression, Type) | 创建一个 UnaryExpression,它表示在目标类型发生溢出时引发异常的转换运算。 | 
| ConvertChecked(Expression, Type, MethodInfo) | 创建一个 UnaryExpression,它表示在目标类型发生溢出时引发异常且为其指定实现方法的转换运算。 | 
| DebugInfo(SymbolDocumentInfo, Int32, Int32, Int32, Int32) | 创建一个具有指定跨度的 DebugInfoExpression。 | 
| Decrement(Expression) | 创建一个 UnaryExpression,它表示按 1 递减表达式值。 | 
| Decrement(Expression, MethodInfo) | 创建一个 UnaryExpression,它表示按 1 递减表达式值。 | 
| Default(Type) | 创建一个 DefaultExpression,Type 属性设置为指定类型。 | 
| Divide(Expression, Expression) | 创建一个表示算术除法运算的 BinaryExpression。 | 
| Divide(Expression, Expression, MethodInfo) | 创建一个表示算术除法运算的 BinaryExpression。 可指定实现方法。 | 
| DivideAssign(Expression, Expression) | 创建一个表示不进行溢出检查的除法赋值运算的 BinaryExpression。 | 
| DivideAssign(Expression, Expression, MethodInfo) | 创建一个表示不进行溢出检查的除法赋值运算的 BinaryExpression。 | 
| DivideAssign(Expression, Expression, MethodInfo, LambdaExpression) | 创建一个表示不进行溢出检查的除法赋值运算的 BinaryExpression。 | 
| Dynamic(CallSiteBinder, Type, Expression) | 创建一个 DynamicExpression,它表示由提供的 CallSiteBinder 绑定的动态操作。 | 
| Dynamic(CallSiteBinder, Type, Expression, Expression) | 创建一个 DynamicExpression,它表示由提供的 CallSiteBinder 绑定的动态操作。 | 
| Dynamic(CallSiteBinder, Type, Expression, Expression, Expression) | 创建一个 DynamicExpression,它表示由提供的 CallSiteBinder 绑定的动态操作。 | 
| Dynamic(CallSiteBinder, Type, Expression, Expression, Expression, Expression) | 创建一个 DynamicExpression,它表示由提供的 CallSiteBinder 绑定的动态操作。 | 
| Dynamic(CallSiteBinder, Type, Expression[]) | 创建一个 DynamicExpression,它表示由提供的 CallSiteBinder 绑定的动态操作。 | 
| Dynamic(CallSiteBinder, Type, IEnumerable<Expression>) | 创建一个 DynamicExpression,它表示由提供的 CallSiteBinder 绑定的动态操作。 | 
| ElementInit(MethodInfo, Expression[]) | 在给定值数组作为第二个参数的情况下,创建一个 ElementInit。 | 
| ElementInit(MethodInfo, IEnumerable<Expression>) | 在给定 ElementInit 作为第二个参数的情况下,创建一个 IEnumerable<T>。 | 
| Empty() | 创建具有 Void 类型的空表达式。 | 
| Equal(Expression, Expression) | 创建一个表示相等比较的 BinaryExpression。 | 
| Equal(Expression, Expression, Boolean, MethodInfo) | 创建一个表示相等比较的 BinaryExpression。 可指定实现方法。 | 
| Equals(Object) | 确定指定的对象是否等于当前对象。(继承自 Object。) | 
| ExclusiveOr(Expression, Expression) | 通过对用户定义的类型使用 BinaryExpression,创建一个表示按位 XOR 运算的 op_ExclusiveOr。 | 
| ExclusiveOr(Expression, Expression, MethodInfo) | 通过对用户定义的类型使用 BinaryExpression,创建一个表示按位 XOR 运算的 op_ExclusiveOr。 可指定实现方法。 | 
| ExclusiveOrAssign(Expression, Expression) | 通过对用户定义的类型使用 BinaryExpression,创建一个表示按位 XOR 赋值运算的 op_ExclusiveOr。 | 
| ExclusiveOrAssign(Expression, Expression, MethodInfo) | 通过对用户定义的类型使用 BinaryExpression,创建一个表示按位 XOR 赋值运算的 op_ExclusiveOr。 | 
| ExclusiveOrAssign(Expression, Expression, MethodInfo, LambdaExpression) | 通过对用户定义的类型使用 BinaryExpression,创建一个表示按位 XOR 赋值运算的 op_ExclusiveOr。 | 
| Field(Expression, FieldInfo) | 创建一个表示访问字段的 MemberExpression。 | 
| Field(Expression, String) | 在给定字段名称的情况下,创建一个表示访问此字段的 MemberExpression。 | 
| Field(Expression, Type, String) | 创建一个表示访问字段的 MemberExpression。 | 
| Finalize() | 在垃圾回收将某一对象回收前允许该对象尝试释放资源并执行其他清理操作。(继承自 Object。) | 
| GetActionType(Type[]) | 创建一个 Type 对象,它表示具有特定类型参数的泛型 System.Action 委托类型。 | 
| GetDelegateType(Type[]) | 获取一个 Type 对象,它表示具有特定类型参数的泛型 System.Func 或 System.Action 委托类型。 | 
| GetFuncType(Type[]) | 创建一个 Type 对象,它表示具有特定类型参数的泛型 System.Func 委托类型。 最后一个类型参数指定已创建委托的返回类型。 | 
| GetHashCode() | 作为默认哈希函数。(继承自 Object。) | 
| GetType() | 获取当前实例的 Type。(继承自 Object。) | 
| Goto(LabelTarget) | 创建一个表示“go to”语句的 GotoExpression。 | 
| Goto(LabelTarget, Expression) | 创建一个表示“go to”语句的 GotoExpression。 可以指定在跳转时传递给标签的值。 | 
| Goto(LabelTarget, Expression, Type) | 创建一个表示具有指定类型的“go to”语句的 GotoExpression。 可以指定在跳转时传递给标签的值。 | 
| Goto(LabelTarget, Type) | 创建一个表示具有指定类型的“go to”语句的 GotoExpression。 | 
| GreaterThan(Expression, Expression) | 创建一个表示“大于”数值比较的 BinaryExpression。 | 
| GreaterThan(Expression, Expression, Boolean, MethodInfo) | 创建一个表示“大于”数值比较的 BinaryExpression。 可指定实现方法。 | 
| GreaterThanOrEqual(Expression, Expression) | 创建一个表示“大于或等于”数值比较的 BinaryExpression。 | 
| GreaterThanOrEqual(Expression, Expression, Boolean, MethodInfo) | 创建一个表示“大于或等于”数值比较的 BinaryExpression。 | 
| IfThen(Expression, Expression) | 创建一个 ConditionalExpression,它表示带 if 语句的条件块。 | 
| IfThenElse(Expression, Expression, Expression) | 创建一个 ConditionalExpression,它表示带 if 和 else 语句的条件块。 | 
| Increment(Expression) | 创建一个 UnaryExpression,它表示按 1 递增表达式值。 | 
| Increment(Expression, MethodInfo) | 创建一个 UnaryExpression,它表示按 1 递增表达式值。 | 
| Invoke(Expression, Expression[]) | 创建一个 InvocationExpression,它将委托或 lambda 表达式应用于一个参数表达式列表。 | 
| Invoke(Expression, IEnumerable<Expression>) | 创建一个 InvocationExpression,它将委托或 lambda 表达式应用于一个参数表达式列表。 | 
| IsFalse(Expression) | 返回表达式的计算结果是否为 false。 | 
| IsFalse(Expression, MethodInfo) | 返回表达式的计算结果是否为 false。 | 
| IsTrue(Expression) | 返回表达式的计算结果是否为 true。 | 
| IsTrue(Expression, MethodInfo) | 返回表达式的计算结果是否为 true。 | 
| Label() | 创建一个 LabelTarget,它表示具有 void 类型但没有名称的标签。 | 
| Label(LabelTarget) | 创建一个LabelExpression,它表示不带默认值的标签。 | 
| Label(LabelTarget, Expression) | 创建一个 LabelExpression,它表示具有给定默认值的标签。 | 
| Label(String) | 创建一个 LabelTarget,它表示具有 void 类型和给定名称的标签。 | 
| Label(Type) | 创建一个 LabelTarget,它表示具有给定类型的标签。 | 
| Label(Type, String) | 创建一个 LabelTarget,它表示具有给定类型和名称的标签。 | 
| Lambda(Expression, Boolean, IEnumerable<ParameterExpression>) | 通过先构造一个委托类型来创建一个 LambdaExpression。 | 
| Lambda(Expression, Boolean, ParameterExpression[]) | 通过先构造一个委托类型来创建一个 LambdaExpression。 | 
| Lambda(Expression, IEnumerable<ParameterExpression>) | 通过先构造一个委托类型来创建一个 LambdaExpression。 | 
| Lambda(Expression, ParameterExpression[]) | 通过先构造一个委托类型来创建一个 LambdaExpression。 | 
| Lambda(Expression, String, Boolean, IEnumerable<ParameterExpression>) | 通过先构造一个委托类型来创建一个 LambdaExpression。 | 
| Lambda(Expression, String, IEnumerable<ParameterExpression>) | 通过先构造一个委托类型来创建一个 LambdaExpression。 | 
| Lambda(Type, Expression, Boolean, IEnumerable<ParameterExpression>) | 通过先构造一个委托类型来创建一个 LambdaExpression。 | 
| Lambda(Type, Expression, Boolean, ParameterExpression[]) | 通过先构造一个委托类型来创建一个 LambdaExpression。 | 
| Lambda(Type, Expression, IEnumerable<ParameterExpression>) | 通过先构造一个委托类型来创建一个 LambdaExpression。 如果委托类型在编译时未知,则可以使用它。 | 
| Lambda(Type, Expression, ParameterExpression[]) | 通过先构造一个委托类型来创建一个 LambdaExpression。 如果委托类型在编译时未知,则可以使用它。 | 
| Lambda(Type, Expression, String, Boolean, IEnumerable<ParameterExpression>) | 通过先构造一个委托类型来创建一个 LambdaExpression。 | 
| Lambda(Type, Expression, String, IEnumerable<ParameterExpression>) | 通过先构造一个委托类型来创建一个 LambdaExpression。 | 
| Lambda<TDelegate>(Expression, Boolean, IEnumerable<ParameterExpression>) | 创建一个在编译时委托类型已知的 Expression<TDelegate>。 | 
| Lambda<TDelegate>(Expression, Boolean, ParameterExpression[]) | 创建一个在编译时委托类型已知的 Expression<TDelegate>。 | 
| Lambda<TDelegate>(Expression, IEnumerable<ParameterExpression>) | 创建一个在编译时委托类型已知的 Expression<TDelegate>。 | 
| Lambda<TDelegate>(Expression, ParameterExpression[]) | 创建一个在编译时委托类型已知的 Expression<TDelegate>。 | 
| Lambda<TDelegate>(Expression, String, Boolean, IEnumerable<ParameterExpression>) | 创建一个在编译时委托类型已知的 Expression<TDelegate>。 | 
| Lambda<TDelegate>(Expression, String, IEnumerable<ParameterExpression>) | 创建一个在编译时委托类型已知的 Expression<TDelegate>。 | 
| LeftShift(Expression, Expression) | 创建一个表示按位左移运算的 BinaryExpression。 | 
| LeftShift(Expression, Expression, MethodInfo) | 创建一个表示按位左移运算的 BinaryExpression。 | 
| LeftShiftAssign(Expression, Expression) | 创建一个表示按位左移赋值运算的 BinaryExpression。 | 
| LeftShiftAssign(Expression, Expression, MethodInfo) | 创建一个表示按位左移赋值运算的 BinaryExpression。 | 
| LeftShiftAssign(Expression, Expression, MethodInfo, LambdaExpression) | 创建一个表示按位左移赋值运算的 BinaryExpression。 | 
| LessThan(Expression, Expression) | 创建一个表示“小于”数值比较的 BinaryExpression。 | 
| LessThan(Expression, Expression, Boolean, MethodInfo) | 创建一个表示“小于”数值比较的 BinaryExpression。 | 
| LessThanOrEqual(Expression, Expression) | 创建一个表示“小于或等于”数值比较的 BinaryExpression。 | 
| LessThanOrEqual(Expression, Expression, Boolean, MethodInfo) | 创建一个表示“小于或等于”数值比较的 BinaryExpression。 | 
| ListBind(MemberInfo, ElementInit[]) | 创建一个其成员为字段或属性的 MemberListBinding。 | 
| ListBind(MemberInfo, IEnumerable<ElementInit>) | 创建一个其成员为字段或属性的 MemberListBinding。 | 
| ListBind(MethodInfo, ElementInit[]) | 基于指定的属性访问器方法创建一个 MemberListBinding 对象。 | 
| ListBind(MethodInfo, IEnumerable<ElementInit>) | 基于指定的属性访问器方法创建一个 MemberListBinding。 | 
| ListInit(NewExpression, ElementInit[]) | 创建一个使用指定 ListInitExpression 对象来初始化集合的 ElementInit。 | 
| ListInit(NewExpression, Expression[]) | 创建一个使用名为“Add”的方法将元素添加到集合中的ListInitExpression。 | 
| ListInit(NewExpression, IEnumerable<ElementInit>) | 创建一个使用指定 ListInitExpression 对象来初始化集合的 ElementInit。 | 
| ListInit(NewExpression, IEnumerable<Expression>) | 创建一个使用名为“Add”的方法将元素添加到集合中的 ListInitExpression。 | 
| ListInit(NewExpression, MethodInfo, Expression[]) | 创建一个使用指定方法将元素添加到集合中的 ListInitExpression。 | 
| ListInit(NewExpression, MethodInfo, IEnumerable<Expression>) | 创建一个使用指定方法将元素添加到集合中的 ListInitExpression。 | 
| Loop(Expression) | 创建具有给定主体的 LoopExpression。 | 
| Loop(Expression, LabelTarget) | 创建具有给定主体和中断目标的 LoopExpression。 | 
| Loop(Expression, LabelTarget, LabelTarget) | 创建具有给定主体的 LoopExpression。 | 
| MakeBinary(ExpressionType, Expression, Expression) | 在给定左操作数和右操作数的情况下,通过调用适当的工厂方法来创建一个 BinaryExpression。 | 
| MakeBinary(ExpressionType, Expression, Expression, Boolean, MethodInfo) | 在给定左操作数、右操作数和实现方法的情况下,通过调用适当的工厂方法来创建一个 BinaryExpression。 | 
| MakeBinary(ExpressionType, Expression, Expression, Boolean, MethodInfo, LambdaExpression) | 在给定左操作数、右操作数、实现方法和类型转换函数的情况下,通过调用适当的工厂方法来创建一个 BinaryExpression。 | 
| MakeCatchBlock(Type, ParameterExpression, Expression, Expression) | 创建一个表示具有指定元素的 catch 语句的 CatchBlock。 | 
| MakeDynamic(Type, CallSiteBinder, Expression) | 创建一个 DynamicExpression,它表示由提供的 CallSiteBinder 和一个参数绑定的动态操作。 | 
| MakeDynamic(Type, CallSiteBinder, Expression, Expression) | 创建一个 DynamicExpression,它表示由提供的 CallSiteBinder 和两个参数绑定的动态操作。 | 
| MakeDynamic(Type, CallSiteBinder, Expression, Expression, Expression) | 创建一个 DynamicExpression,它表示由提供的 CallSiteBinder 和三个参数绑定的动态操作。 | 
| MakeDynamic(Type, CallSiteBinder, Expression, Expression, Expression, Expression) | 创建一个 DynamicExpression,它表示由提供的 CallSiteBinder 和四个参数绑定的动态操作。 | 
| MakeDynamic(Type, CallSiteBinder, Expression[]) | 创建一个 DynamicExpression,它表示由提供的 CallSiteBinder 绑定的动态操作。 | 
| MakeDynamic(Type, CallSiteBinder, IEnumerable<Expression>) | 创建一个 DynamicExpression,它表示由提供的 CallSiteBinder 绑定的动态操作。 | 
| MakeGoto(GotoExpressionKind, LabelTarget, Expression, Type) | 创建一个 GotoExpression,它表示指定的 GotoExpressionKind 的跳转。 也可以指定在跳转时传递给标签的值。 | 
| MakeIndex(Expression, PropertyInfo, IEnumerable<Expression>) | 创建一个 IndexExpression,它表示访问对象中的索引属性。 | 
| MakeMemberAccess(Expression, MemberInfo) | 创建一个表示访问字段或属性的 MemberExpression。 | 
| MakeTry(Type, Expression, Expression, Expression, IEnumerable<CatchBlock>) | 创建一个表示具有指定元素的 try 块的 TryExpression。 | 
| MakeUnary(ExpressionType, Expression, Type) | 在给定操作数的情况下,通过调用适当的工厂方法来创建一个 UnaryExpression。 | 
| MakeUnary(ExpressionType, Expression, Type, MethodInfo) | 在给定操作数和实现方法的情况下,通过调用适当的工厂方法来创建一个 UnaryExpression。 | 
| MemberBind(MemberInfo, IEnumerable<MemberBinding>) | 创建一个表示递归初始化某个字段或属性的成员的 MemberMemberBinding。 | 
| MemberBind(MemberInfo, MemberBinding[]) | 创建一个表示递归初始化某个字段或属性的成员的 MemberMemberBinding。 | 
| MemberBind(MethodInfo, IEnumerable<MemberBinding>) | 使用属性访问器方法创建一个表示对所访问的成员的成员进行递归初始化的 MemberMemberBinding。 | 
| MemberBind(MethodInfo, MemberBinding[]) | 使用属性访问器方法创建一个表示对所访问的成员的成员进行递归初始化的 MemberMemberBinding。 | 
| MemberInit(NewExpression, IEnumerable<MemberBinding>) | 表示一个表达式,该表达式创建新对象并初始化该对象的一个属性。 | 
| MemberInit(NewExpression, MemberBinding[]) | 创建一个 MemberInitExpression。 | 
| MemberwiseClone() | 创建当前 Object 的浅表副本。(继承自 Object。) | 
| Modulo(Expression, Expression) | 创建一个表示算术余数运算的 BinaryExpression。 | 
| Modulo(Expression, Expression, MethodInfo) | 创建一个表示算术余数运算的 BinaryExpression。 | 
| ModuloAssign(Expression, Expression) | 创建一个表示余数赋值运算的 BinaryExpression。 | 
| ModuloAssign(Expression, Expression, MethodInfo) | 创建一个表示余数赋值运算的 BinaryExpression。 | 
| ModuloAssign(Expression, Expression, MethodInfo, LambdaExpression) | 创建一个表示余数赋值运算的 BinaryExpression。 | 
| Multiply(Expression, Expression) | 创建一个表示不进行溢出检查的算术乘法运算的 BinaryExpression。 | 
| Multiply(Expression, Expression, MethodInfo) | 创建一个表示不进行溢出检查的算术乘法运算的 BinaryExpression。 | 
| MultiplyAssign(Expression, Expression) | 创建一个表示不进行溢出检查的乘法赋值运算的 BinaryExpression。 | 
| MultiplyAssign(Expression, Expression, MethodInfo) | 创建一个表示不进行溢出检查的乘法赋值运算的 BinaryExpression。 | 
| MultiplyAssign(Expression, Expression, MethodInfo, LambdaExpression) | 创建一个表示不进行溢出检查的乘法赋值运算的 BinaryExpression。 | 
| MultiplyAssignChecked(Expression, Expression) | 创建一个表示进行溢出检查的乘法赋值运算的 BinaryExpression。 | 
| MultiplyAssignChecked(Expression, Expression, MethodInfo) | 创建一个表示进行溢出检查的乘法赋值运算的 BinaryExpression。 | 
| MultiplyAssignChecked(Expression, Expression, MethodInfo, LambdaExpression) | 创建一个表示进行溢出检查的乘法赋值运算的 BinaryExpression。 | 
| MultiplyChecked(Expression, Expression) | 创建一个表示进行溢出检查的算术乘法运算的 BinaryExpression。 | 
| MultiplyChecked(Expression, Expression, MethodInfo) | 创建一个表示进行溢出检查的算术乘法运算的 BinaryExpression。 | 
| Negate(Expression) | 创建一个表示算术求反运算的 UnaryExpression。 | 
| Negate(Expression, MethodInfo) | 创建一个表示算术求反运算的 UnaryExpression。 | 
| NegateChecked(Expression) | 创建一个表示进行溢出检查的算术求反运算的 UnaryExpression。 | 
| NegateChecked(Expression, MethodInfo) | 创建一个表示进行溢出检查的算术求反运算的 UnaryExpression。 可指定实现方法。 | 
| New(ConstructorInfo) | 创建一个表示调用不带参数的指定构造函数的 NewExpression。 | 
| New(ConstructorInfo, Expression[]) | 创建一个表示调用带指定参数的指定构造函数的 NewExpression。 | 
| New(ConstructorInfo, IEnumerable<Expression>) | 创建一个表示调用带指定参数的指定构造函数的 NewExpression。 | 
| New(ConstructorInfo, IEnumerable<Expression>, IEnumerable<MemberInfo>) | 创建一个表示调用带指定参数的指定构造函数的 NewExpression。 其中指定了访问构造函数初始化的字段的成员。 | 
| New(ConstructorInfo, IEnumerable<Expression>, MemberInfo[]) | 创建一个表示调用带指定参数的指定构造函数的 NewExpression。 将访问构造函数初始化字段的成员指定为数组。 | 
| New(Type) | 创建一个表示调用指定类型的无参数构造函数的 NewExpression。 | 
| NewArrayBounds(Type, Expression[]) | 创建一个表示创建具有指定秩的数组的 NewArrayExpression。 | 
| NewArrayBounds(Type, IEnumerable<Expression>) | 创建一个表示创建具有指定秩的数组的 NewArrayExpression。 | 
| NewArrayInit(Type, Expression[]) | 创建一个表示创建一维数组并使用元素列表初始化该数组的 NewArrayExpression。 | 
| NewArrayInit(Type, IEnumerable<Expression>) | 创建一个表示创建一维数组并使用元素列表初始化该数组的 NewArrayExpression。 | 
| Not(Expression) | 创建一个表示按位求补运算的 UnaryExpression。 | 
| Not(Expression, MethodInfo) | 创建一个表示按位求补运算的 UnaryExpression。 可指定实现方法。 | 
| NotEqual(Expression, Expression) | 创建一个表示不相等比较的 BinaryExpression。 | 
| NotEqual(Expression, Expression, Boolean, MethodInfo) | 创建一个表示不相等比较的 BinaryExpression。 | 
| OnesComplement(Expression) | 返回表示一的补数的表达式。 | 
| OnesComplement(Expression, MethodInfo) | 返回表示一的补数的表达式。 | 
| Or(Expression, Expression) | 创建一个表示按位 BinaryExpression 运算的 OR。 | 
| Or(Expression, Expression, MethodInfo) | 创建一个表示按位 BinaryExpression 运算的 OR。 | 
| OrAssign(Expression, Expression) | 创建一个表示按位 OR 赋值运算的 BinaryExpression。 | 
| OrAssign(Expression, Expression, MethodInfo) | 创建一个表示按位 OR 赋值运算的 BinaryExpression。 | 
| OrAssign(Expression, Expression, MethodInfo, LambdaExpression) | 创建一个表示按位 OR 赋值运算的 BinaryExpression。 | 
| OrElse(Expression, Expression) | 创建一个 BinaryExpression,它表示仅在第一个操作数的计算结果为 OR 时才计算第二个操作数的条件 false 运算。 | 
| OrElse(Expression, Expression, MethodInfo) | 创建一个 BinaryExpression,它表示仅在第一个操作数的计算结果为 OR 时才计算第二个操作数的条件 false 运算。 | 
| Parameter(Type) | 创建一个 ParameterExpression 节点,该节点可用于标识表达式树中的参数或变量。 | 
| Parameter(Type, String) | 创建一个 ParameterExpression 节点,该节点可用于标识表达式树中的参数或变量。 | 
| PostDecrementAssign(Expression) | 创建一个 UnaryExpression,它表示将原始表达式递减 1 之后再进行表达式赋值。 | 
| PostDecrementAssign(Expression, MethodInfo) | 创建一个 UnaryExpression,它表示将原始表达式递减 1 之后再进行表达式赋值。 | 
| PostIncrementAssign(Expression) | 创建一个 UnaryExpression,它表示将原始表达式递增 1 之后再进行表达式赋值。 | 
| PostIncrementAssign(Expression, MethodInfo) | 创建一个 UnaryExpression,它表示将原始表达式递增 1 之后再进行表达式赋值。 | 
| Power(Expression, Expression) | 创建一个表示对数进行幂运算的 BinaryExpression。 | 
| Power(Expression, Expression, MethodInfo) | 创建一个表示对数进行幂运算的 BinaryExpression。 | 
| PowerAssign(Expression, Expression) | 创建一个 BinaryExpression,它表示对表达式求幂并将结果赋回给表达式。 | 
| PowerAssign(Expression, Expression, MethodInfo) | 创建一个 BinaryExpression,它表示对表达式求幂并将结果赋回给表达式。 | 
| PowerAssign(Expression, Expression, MethodInfo, LambdaExpression) | 创建一个 BinaryExpression,它表示对表达式求幂并将结果赋回给表达式。 | 
| PreDecrementAssign(Expression) | 创建一个 UnaryExpression,它将表达式递减 1 并将结果赋回给表达式。 | 
| PreDecrementAssign(Expression, MethodInfo) | 创建一个 UnaryExpression,它将表达式递减 1 并将结果赋回给表达式。 | 
| PreIncrementAssign(Expression) | 创建一个 UnaryExpression,它将表达式递增 1 并将结果赋回给表达式。 | 
| PreIncrementAssign(Expression, MethodInfo) | 创建一个 UnaryExpression,它将表达式递增 1 并将结果赋回给表达式。 | 
| Property(Expression, MethodInfo) | 使用属性访问器方法创建一个表示访问属性的 MemberExpression。 | 
| Property(Expression, PropertyInfo) | 创建一个表示访问属性的 MemberExpression。 | 
| Property(Expression, PropertyInfo, Expression[]) | 创建一个 IndexExpression,它表示对索引属性的访问。 | 
| Property(Expression, PropertyInfo, IEnumerable<Expression>) | 创建一个 IndexExpression,它表示对索引属性的访问。 | 
| Property(Expression, String) | 创建一个表示访问属性的 MemberExpression。 | 
| Property(Expression, String, Expression[]) | 创建一个 IndexExpression,它表示对索引属性的访问。 | 
| Property(Expression, Type, String) | 创建一个访问属性的 MemberExpression。 | 
| PropertyOrField(Expression, String) | 创建一个表示访问属性或字段的 MemberExpression。 | 
| Quote(Expression) | 创建一个表示具有类型 UnaryExpression 的常量值的表达式的 Expression。 | 
| Reduce() | 将此节点简化为更简单的表达式。 如果 CanReduce 返回 true,则它应返回有效的表达式。 此方法可以返回本身必须简化的另一个节点。 | 
| ReduceAndCheck() | 将此节点简化为更简单的表达式。 如果 CanReduce 返回 true,则它应返回有效的表达式。 此方法可以返回本身必须简化的另一个节点。 | 
| ReduceExtensions() | 将表达式简化为已知节点类型(即非 Extension 节点)或仅在此类型为已知类型时返回表达式。 | 
| ReferenceEqual(Expression, Expression) | 创建一个表示引用相等比较的 BinaryExpression。 | 
| ReferenceNotEqual(Expression, Expression) | 创建一个表示引用不相等比较的 BinaryExpression。 | 
| Rethrow() | 创建一个 UnaryExpression,它表示重新引发异常。 | 
| Rethrow(Type) | 创建一个 UnaryExpression,它表示重新引发具有给定类型的异常。 | 
| Return(LabelTarget) | 创建一个表示 return 语句的 GotoExpression。 | 
| Return(LabelTarget, Expression) | 创建一个表示 return 语句的 GotoExpression。 可以指定在跳转时传递给标签的值。 | 
| Return(LabelTarget, Expression, Type) | 创建一个表示具有指定类型的 return 语句的 GotoExpression。 可以指定在跳转时传递给标签的值。 | 
| Return(LabelTarget, Type) | 创建一个表示具有指定类型的 return 语句的 GotoExpression。 | 
| RightShift(Expression, Expression) | 创建一个表示按位右移运算的 BinaryExpression。 | 
| RightShift(Expression, Expression, MethodInfo) | 创建一个表示按位右移运算的 BinaryExpression。 | 
| RightShiftAssign(Expression, Expression) | 创建一个表示按位右移赋值运算的 BinaryExpression。 | 
| RightShiftAssign(Expression, Expression, MethodInfo) | 创建一个表示按位右移赋值运算的 BinaryExpression。 | 
| RightShiftAssign(Expression, Expression, MethodInfo, LambdaExpression) | 创建一个表示按位右移赋值运算的 BinaryExpression。 | 
| RuntimeVariables(IEnumerable<ParameterExpression>) | 创建 RuntimeVariablesExpression 的实例。 | 
| RuntimeVariables(ParameterExpression[]) | 创建 RuntimeVariablesExpression 的实例。 | 
| Subtract(Expression, Expression) | 创建一个表示不进行溢出检查的算术减法运算的 BinaryExpression。 | 
| Subtract(Expression, Expression, MethodInfo) | 创建一个表示不进行溢出检查的算术减法运算的 BinaryExpression。 | 
| SubtractAssign(Expression, Expression) | 创建一个表示不进行溢出检查的减法赋值运算的 BinaryExpression。 | 
| SubtractAssign(Expression, Expression, MethodInfo) | 创建一个表示不进行溢出检查的减法赋值运算的 BinaryExpression。 | 
| SubtractAssign(Expression, Expression, MethodInfo, LambdaExpression) | 创建一个表示不进行溢出检查的减法赋值运算的 BinaryExpression。 | 
| SubtractAssignChecked(Expression, Expression) | 创建一个表示进行溢出检查的减法赋值运算的 BinaryExpression。 | 
| SubtractAssignChecked(Expression, Expression, MethodInfo) | 创建一个表示进行溢出检查的减法赋值运算的 BinaryExpression。 | 
| SubtractAssignChecked(Expression, Expression, MethodInfo, LambdaExpression) | 创建一个表示进行溢出检查的减法赋值运算的 BinaryExpression。 | 
| SubtractChecked(Expression, Expression) | 创建一个表示进行溢出检查的算术减法运算的 BinaryExpression。 | 
| SubtractChecked(Expression, Expression, MethodInfo) | 创建一个表示进行溢出检查的算术减法运算的 BinaryExpression。 | 
| Switch(Expression, Expression, MethodInfo, IEnumerable<SwitchCase>) | 创建一个表示具有默认分支的 SwitchExpression 语句的 switch。 | 
| Switch(Expression, Expression, MethodInfo, SwitchCase[]) | 创建一个表示具有默认分支的 SwitchExpression 语句的 switch。 | 
| Switch(Expression, Expression, SwitchCase[]) | 创建一个表示具有默认分支的 SwitchExpression 语句的 switch。 | 
| Switch(Expression, SwitchCase[]) | 创建一个表示不带默认分支的 SwitchExpression 语句的 switch。 | 
| Switch(Type, Expression, Expression, MethodInfo, IEnumerable<SwitchCase>) | 创建一个表示具有默认分支的 SwitchExpression 语句的 switch。 | 
| Switch(Type, Expression, Expression, MethodInfo, SwitchCase[]) | 创建一个 SwitchExpression,它表示具有默认分支的 switch 语句。 | 
| SwitchCase(Expression, Expression[]) | 创建在 SwitchCase 中使用的 SwitchExpression。 | 
| SwitchCase(Expression, IEnumerable<Expression>) | 创建要在 SwitchCase 对象中使用的 SwitchExpression 对象。 | 
| SymbolDocument(String) | 创建 SymbolDocumentInfo 的实例。 | 
| SymbolDocument(String, Guid) | 创建 SymbolDocumentInfo 的实例。 | 
| SymbolDocument(String, Guid, Guid) | 创建 SymbolDocumentInfo 的实例。 | 
| SymbolDocument(String, Guid, Guid, Guid) | 创建 SymbolDocumentInfo 的实例。 | 
| Throw(Expression) | 创建一个 UnaryExpression,它表示引发异常。 | 
| Throw(Expression, Type) | 创建一个 UnaryExpression,它表示引发具有给定类型的异常。 | 
| ToString() | 返回 Expression 的的文本化表示形式。(覆盖 Object.ToString()。) | 
| TryCatch(Expression, CatchBlock[]) | 创建一个表示 try 块的 TryExpression,该 try 块包含任意数量的 catch 语句,但不包含 fault 和 finally 块。 | 
| TryCatchFinally(Expression, Expression, CatchBlock[]) | 创建一个表示 try 块的 TryExpression,该 try 块包含任意数量的 catch 语句和一个 finally 块。 | 
| TryFault(Expression, Expression) | 创建一个表示 try 块的 TryExpression,该 try 块包含一个 fault 块,但不包含 catch 语句。 | 
| TryFinally(Expression, Expression) | 创建一个表示 try 块的 TryExpression,该 try 块包含一个 finally 块,但不包含 catch 语句。 | 
| TryGetActionType(Type[], Type) | 创建一个 Type 对象,它表示具有特定类型参数的泛型 System.Action 委托类型。 | 
| TryGetFuncType(Type[], Type) | 创建一个 Type 对象,它表示具有特定类型参数的泛型 System.Func 委托类型。 最后一个类型参数指定已创建委托的返回类型。 | 
| TypeAs(Expression, Type) | 创建一个表示显式引用或装箱转换的 UnaryExpression(如果转换失败,则提供 null)。 | 
| TypeEqual(Expression, Type) | 创建一个比较运行时类型标识的 TypeBinaryExpression。 | 
| TypeIs(Expression, Type) | 创建一个 TypeBinaryExpression。 | 
| UnaryPlus(Expression) | 创建一个表示一元正运算的 UnaryExpression。 | 
| UnaryPlus(Expression, MethodInfo) | 创建一个表示一元正运算的 UnaryExpression。 | 
| Unbox(Expression, Type) | 创建一个表示显式取消装箱的 UnaryExpression。 | 
| Variable(Type) | 创建一个 ParameterExpression 节点,该节点可用于标识表达式树中的参数或变量。 | 
| Variable(Type, String) | 创建一个 ParameterExpression 节点,该节点可用于标识表达式树中的参数或变量。 | 
| VisitChildren(ExpressionVisitor) | 简化节点,然后对简化的表达式调用访问者委托。 该方法在节点不可简化时引发异常。 | 
到此这篇关于Expression操作符运算符、表达式和操作方法总结的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持得得之家。
				 沃梦达教程
				
			本文标题为:Expression操作运算符、表达式和操作方法总结
				
        
 
            
        
             猜你喜欢
        
	     - c# 模拟线性回归的示例 2023-03-14
 - .NET CORE DI 依赖注入 2023-09-27
 - Unity3D实现渐变颜色效果 2023-01-16
 - WPF使用DrawingContext实现绘制刻度条 2023-07-04
 - 在C# 8中如何使用默认接口方法详解 2023-03-29
 - C# 使用Aspose.Cells 导出Excel的步骤及问题记录 2023-05-16
 - Oracle中for循环的使用方法 2023-07-04
 - user32.dll 函数说明小结 2022-12-26
 - 如何使用C# 捕获进程输出 2023-03-10
 - Unity Shader实现模糊效果 2023-04-27
 
						
						
						
						
						
				
				
				
				