Freigeben über


Expression.LessThanOrEqual Methode

Definition

Erstellt eine BinaryExpression, die einen numerischen "Kleiner oder gleich"-Vergleich darstellt.

Überlädt

LessThanOrEqual(Expression, Expression)

Erstellt eine BinaryExpression, die einen numerischen "Kleiner oder gleich"-Vergleich darstellt.

LessThanOrEqual(Expression, Expression, Boolean, MethodInfo)

Erstellt eine BinaryExpression, die einen numerischen "Kleiner oder gleich"-Vergleich darstellt.

LessThanOrEqual(Expression, Expression)

Quelle:
BinaryExpression.cs
Quelle:
BinaryExpression.cs
Quelle:
BinaryExpression.cs

Erstellt eine BinaryExpression, die einen numerischen "Kleiner oder gleich"-Vergleich darstellt.

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

Parameter

left
Expression

Ein Expression, auf den die Left-Eigenschaft festgelegt werden soll.

right
Expression

Ein Expression, auf den die Right-Eigenschaft festgelegt werden soll.

Gibt zurück

Ein BinaryExpression, bei dem die NodeType-Eigenschaft gleich LessThanOrEqual ist und die Left-Eigenschaft sowie die Right-Eigenschaft auf die angegebenen Werte festgelegt sind.

Ausnahmen

left oder right ist null.

Der "Kleiner oder gleich"-Operator ist für left.Type und right.Type nicht definiert.

Beispiele

Das folgende Codebeispiel zeigt, wie Sie einen Ausdruck erstellen, der zwei ganze Zahlen vergleicht.

// 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

Hinweise

Das resultierende BinaryExpression hat die Method -Eigenschaft auf die implementierende Methode festgelegt. Die Type -Eigenschaft ist auf den Typ des Knotens festgelegt. Wenn der Knoten angehoben wird, ist truedie IsLifted -Eigenschaft . Andernfalls lautet der Wert false. Die IsLiftedToNull -Eigenschaft ist immer false. Die Conversion-Eigenschaft ist null.

Die folgenden Informationen beschreiben die implementierenden Methode, den Knotentyp und ob ein Knoten aufgehoben wird.

Implementieren der Methode

Die folgenden Regeln bestimmen die Implementierungsmethode für den Vorgang:

  • Wenn die Type Eigenschaft von oder leftright einen benutzerdefinierten Typ darstellt, der den Operator "kleiner als oder gleich" überlädt, ist die methode, die MethodInfo diese Methode darstellt, die implementierende Methode.

  • Andernfalls, wenn left. Geben Sie und ein right. Typ sind numerische Typen, die implementierenden Methoden sind null.

Knotentyp und "Lifted" im Vergleich zu "Non-Lifted"

Wenn die implementierenden Methode nicht nulllautet:

  • Wenn left. Geben Sie und ein right. Typ können den entsprechenden Argumenttypen der implementierenden Methode zugewiesen werden, der Knoten wird nicht aufgehoben. Der Typ des Knotens ist der Rückgabetyp der implementierenden Methode.

  • Wenn die folgenden beiden Bedingungen erfüllt sind, wird der Knoten angehoben, und der Typ des Knotens lautet Boolean:

    • left. Geben Sie und ein right. Typ sind beide Werttypen, von denen mindestens einer nullable ist, und die entsprechenden Nicht-Nullable-Typen sind gleich den entsprechenden Argumenttypen der implementierenden Methode.

    • Der Rückgabetyp der implementierenden Methode ist Boolean.

Wenn die implementierenden Methode lautet null:

  • Wenn left. Geben Sie und ein right. Typ sind beide nicht nullable, der Knoten wird nicht angehoben. Der Typ des Knotens ist Boolean.

  • Wenn left. Geben Sie und ein right. Typ sind beide nullable, der Knoten wird aufgehoben. Der Typ des Knotens ist Boolean.

Gilt für:

LessThanOrEqual(Expression, Expression, Boolean, MethodInfo)

Quelle:
BinaryExpression.cs
Quelle:
BinaryExpression.cs
Quelle:
BinaryExpression.cs

Erstellt eine BinaryExpression, die einen numerischen "Kleiner oder gleich"-Vergleich darstellt.

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

Parameter

left
Expression

Ein Expression, auf den die Left-Eigenschaft festgelegt werden soll.

right
Expression

Ein Expression, auf den die Right-Eigenschaft festgelegt werden soll.

liftToNull
Boolean

true, um IsLiftedToNull auf true festzulegen, und false, um IsLiftedToNull auf false festzulegen.

method
MethodInfo

Ein MethodInfo, auf das die Method-Eigenschaft festgelegt werden soll.

Gibt zurück

Eine BinaryExpression, bei der die NodeType-Eigenschaft gleich LessThanOrEqual ist und die Eigenschaften Left, Right, IsLiftedToNull und Method auf die angegebenen Werte festgelegt sind.

Ausnahmen

left oder right ist null.

method ist nicht null, und die dargestellte Methode gibt void zurück, ist nicht static (Shared in Visual Basic) oder akzeptiert nicht genau zwei Argumente.

method ist null, und der "Kleiner oder gleich"-Operator ist für left.Type und right.Type nicht definiert.

Hinweise

Das resultierende BinaryExpression hat die Method -Eigenschaft auf die implementierende Methode festgelegt. Die Type -Eigenschaft ist auf den Typ des Knotens festgelegt. Wenn der Knoten angehoben wird, ist die IsLifted -Eigenschaft und die IsLiftedToNull -Eigenschaft gleich liftToNull.true Andernfalls sind sie beide false. Die Conversion-Eigenschaft ist null.

Die folgenden Informationen beschreiben die implementierenden Methode, den Knotentyp und ob ein Knoten aufgehoben wird.

Implementieren der Methode

Die folgenden Regeln bestimmen die Implementierungsmethode für den Vorgang:

  • Wenn method dies nicht null der Wert ist und eine nicht leere (Sharedin Visual Basic)-Methode darstellt, static die zwei Argumente akzeptiert, handelt es sich um die implementierende Methode.

  • Wenn andernfalls die Type Eigenschaft von oder rightleft einen benutzerdefinierten Typ darstellt, der den Operator "kleiner als oder gleich" überlädt, ist die , die MethodInfo diese Methode darstellt, die implementierende Methode.

  • Andernfalls, wenn left. Geben Sie und ein right. Typ sind numerische Typen, die implementierenden Methoden sind null.

Knotentyp und "Lifted" im Vergleich zu "Non-Lifted"

Wenn die implementierenden Methode nicht nulllautet:

  • Wenn left. Geben Sie und ein right. Typ können den entsprechenden Argumenttypen der implementierenden Methode zugewiesen werden, der Knoten wird nicht aufgehoben. Der Typ des Knotens ist der Rückgabetyp der implementierenden Methode.

  • Wenn die folgenden beiden Bedingungen erfüllt sind, wird der Knoten aufgehoben. Außerdem ist der Typ des Knotens nullable Boolean , wenn liftToNulltrue oder BooleanliftToNull ist false:

    • left. Geben Sie und ein right. Typ sind beide Werttypen, von denen mindestens einer nullable ist, und die entsprechenden Nicht-Nullable-Typen sind gleich den entsprechenden Argumenttypen der implementierenden Methode.

    • Der Rückgabetyp der implementierenden Methode ist Boolean.

Wenn die implementierenden Methode lautet null:

  • Wenn left. Geben Sie und ein right. Typ sind beide nicht nullable, der Knoten wird nicht angehoben. Der Typ des Knotens ist Boolean.

  • Wenn left. Geben Sie und ein right. Typ sind beide nullable, der Knoten wird aufgehoben. Der Typ des Knotens ist nullableBoolean, wenn trueliftToNull oder Boolean ist liftToNullfalse.

Gilt für: