Expression.LessThanOrEqual 方法

定义

创建一个表示“小于或等于”数值比较的 BinaryExpression

重载

LessThanOrEqual(Expression, Expression)

创建一个表示“小于或等于”数值比较的 BinaryExpression

LessThanOrEqual(Expression, Expression, Boolean, MethodInfo)

创建一个表示“小于或等于”数值比较的 BinaryExpression

LessThanOrEqual(Expression, Expression)

创建一个表示“小于或等于”数值比较的 BinaryExpression

public:
 static System::Linq::Expressions::BinaryExpression ^ LessThanOrEqual(System::Linq::Expressions::Expression ^ left, System::Linq::Expressions::Expression ^ right);
public static System.Linq.Expressions.BinaryExpression LessThanOrEqual (System.Linq.Expressions.Expression left, System.Linq.Expressions.Expression right);
static member LessThanOrEqual : System.Linq.Expressions.Expression * System.Linq.Expressions.Expression -> System.Linq.Expressions.BinaryExpression
Public Shared Function LessThanOrEqual (left As Expression, right As Expression) As BinaryExpression

参数

left
Expression

要将 Expression 属性设置为与其相等的 Left

right
Expression

要将 Expression 属性设置为与其相等的 Right

返回

BinaryExpression

一个 BinaryExpression,其 NodeType 属性等于 LessThanOrEqual,并且其 LeftRight 属性设置为指定值。

例外

leftrightnull

没有为 left.Type 和 right.Type 定义"小于或等于"运算符。

示例

下面的代码示例演示如何创建一个比较两个整数的表达式。

// Add the following directive to your file:
// using System.Linq.Expressions;

// This expression compares the values of its two arguments.
// Both arguments must be of the same type.
Expression lessThanOrEqual = Expression.LessThanOrEqual(
    Expression.Constant(42),
    Expression.Constant(45)
);

// Print out the expression.
Console.WriteLine(lessThanOrEqual.ToString());

// The following statement first creates an expression tree,
// then compiles it, and then executes it.
Console.WriteLine(Expression.Lambda<Func<bool>>(lessThanOrEqual).Compile()());

// This code example produces the following output:
//
// (42 <= 45)
// True
' Add the following directive to your file:
' Imports System.Linq.Expressions 

' This expression compares the values of its two arguments.
' Both arguments must be of the same type.
Dim lessThanOrEqual As Expression = Expression.LessThanOrEqual(
     Expression.Constant(42),
     Expression.Constant(45)
 )

' Print the expression.
Console.WriteLine(lessThanOrEqual.ToString())

' The following statement first creates an expression tree,
' then compiles it, and then executes it. 
Console.WriteLine(
    Expression.Lambda(Of Func(Of Boolean))(lessThanOrEqual).Compile()())

' This code example produces the following output:
'
' (42 <= 45)
' True

注解

生成的BinaryExpressionMethod属性设置为实现方法。 此属性 Type 设置为节点的类型。 如果提升节点,则 IsLifted 属性为 true. 否则为 falseIsLiftedToNull 属性始终为 falseConversion 属性为 null

以下信息描述了实现方法、节点类型以及节点是否已提升。

实现方法

以下规则确定操作的实现方法:

  • Type如果任left一类型的属性或表示重载“小于或right等于”运算符的用户定义类型,则MethodInfo表示该方法是实现方法。

  • 否则,如果 left为 .键入和 right。类型为数值类型,实现方法为 null

节点类型和提升与非提升

如果实现方法不是 null

  • 如果 left。键入和 right。类型可分配给实现方法的相应参数类型,不会提升节点。 节点的类型是实现方法的返回类型。

  • 如果满足以下两个条件,则会提升节点,节点的类型为 Boolean

    • left.键入和 right。类型都是至少一个可为 null 的值类型,相应的不可为 null 类型等于实现方法的相应参数类型。

    • 实现方法的返回类型为 Boolean

如果实现方法是 null

  • 如果 left。键入和 right。类型都是不可为 null 的,节点不会提升。 节点的类型为 Boolean

  • 如果 left。键入和 right。类型既可为 null,又可提升节点。 节点的类型为 Boolean

适用于

LessThanOrEqual(Expression, Expression, Boolean, MethodInfo)

创建一个表示“小于或等于”数值比较的 BinaryExpression

public:
 static System::Linq::Expressions::BinaryExpression ^ LessThanOrEqual(System::Linq::Expressions::Expression ^ left, System::Linq::Expressions::Expression ^ right, bool liftToNull, System::Reflection::MethodInfo ^ method);
public static System.Linq.Expressions.BinaryExpression LessThanOrEqual (System.Linq.Expressions.Expression left, System.Linq.Expressions.Expression right, bool liftToNull, System.Reflection.MethodInfo method);
public static System.Linq.Expressions.BinaryExpression LessThanOrEqual (System.Linq.Expressions.Expression left, System.Linq.Expressions.Expression right, bool liftToNull, System.Reflection.MethodInfo? method);
static member LessThanOrEqual : System.Linq.Expressions.Expression * System.Linq.Expressions.Expression * bool * System.Reflection.MethodInfo -> System.Linq.Expressions.BinaryExpression
Public Shared Function LessThanOrEqual (left As Expression, right As Expression, liftToNull As Boolean, method As MethodInfo) As BinaryExpression

参数

left
Expression

要将 Expression 属性设置为与其相等的 Left

right
Expression

要将 Expression 属性设置为与其相等的 Right

liftToNull
Boolean

若要将 true 设置为 IsLiftedToNull,则为 true;若要将 false 设置为 IsLiftedToNull,则为 false

method
MethodInfo

要将 MethodInfo 属性设置为与其相等的 Method

返回

BinaryExpression

一个 BinaryExpression,其 NodeType 属性等于 LessThanOrEqual,并且其 LeftRightIsLiftedToNullMethod 属性设置为指定值。

例外

leftrightnull

method 不是 null,它所表示的方法返回 void,而不是 static(Visual Basic 中为 Shared),或者并非采用两个参数。

methodnull,并且没有为 left.Type 和 right.Type 定义"小于或等于"运算符。

注解

生成的BinaryExpressionMethod属性设置为实现方法。 此属性 Type 设置为节点的类型。 如果提升节点,则 IsLifted 属性为 trueIsLiftedToNull 属性等于 liftToNull。 否则,它们都是 falseConversion 属性为 null

以下信息描述了实现方法、节点类型以及节点是否已提升。

实现方法

以下规则确定操作的实现方法:

  • 如果method不是null,则表示采用两个参数的 Visual Basic) 方法中的非 void (Shared static ,它是实现方法。

  • 否则,如果 Typeleft 一类型的属性或表示重载“小于或 right 等于”运算符的用户定义类型,则 MethodInfo 表示该方法是实现方法。

  • 否则,如果 left为 .键入和 right。类型为数值类型,实现方法为 null

节点类型和提升与非提升

如果实现方法不是 null

  • 如果 left。键入和 right。类型可分配给实现方法的相应参数类型,不会提升节点。 节点的类型是实现方法的返回类型。

  • 如果满足以下两个条件,则会提升节点;此外,如果为true或为 false``liftToNullBoolean Boolean liftToNull

    • left.键入和 right。类型都是至少一个可为 null 的值类型,相应的不可为 null 类型等于实现方法的相应参数类型。

    • 实现方法的返回类型为 Boolean

如果实现方法是 null

  • 如果 left。键入和 right。类型都是不可为 null 的,节点不会提升。 节点的类型为 Boolean

  • 如果 left。键入和 right。类型既可为 null,又可提升节点。 如果liftToNulltrueBoolean是否liftToNullfalsenull,则节点的类型为 Boolean null。

适用于