Expression.LessThan Methode

Definitie

Hiermee maakt u een BinaryExpression getal dat een numerieke vergelijking 'kleiner dan' vertegenwoordigt.

Overloads

Name Description
LessThan(Expression, Expression)

Hiermee maakt u een BinaryExpression getal dat een numerieke vergelijking 'kleiner dan' vertegenwoordigt.

LessThan(Expression, Expression, Boolean, MethodInfo)

Hiermee maakt u een BinaryExpression getal dat een numerieke vergelijking 'kleiner dan' vertegenwoordigt.

LessThan(Expression, Expression)

Hiermee maakt u een BinaryExpression getal dat een numerieke vergelijking 'kleiner dan' vertegenwoordigt.

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

Parameters

left
Expression

Een Expression om de Left eigenschap in te stellen die gelijk is aan.

right
Expression

Een Expression om de Right eigenschap in te stellen die gelijk is aan.

Retouren

Een BinaryExpression met de NodeType eigenschap gelijk aan LessThan en de Left eigenschappen die Right zijn ingesteld op de opgegeven waarden.

Uitzonderingen

left of right is null.

De operator 'kleiner dan' is niet gedefinieerd voor left. Typ en right. Type.

Voorbeelden

In het volgende codevoorbeeld ziet u hoe u een expressie maakt waarmee twee gehele getallen worden vergeleken.

// 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 lessThanExpr = Expression.LessThan(
    Expression.Constant(42),
    Expression.Constant(45)
);

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

// The following statement first creates an expression tree,
// then compiles it, and then executes it.
Console.WriteLine(
    Expression.Lambda<Func<bool>>(lessThanExpr).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 lessThanExpr As Expression = Expression.LessThan(
    Expression.Constant(42),
    Expression.Constant(45)
)

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

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

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

Opmerkingen

De resulterende BinaryExpression eigenschap is Method ingesteld op de implementatiemethode. De Type eigenschap is ingesteld op het type knooppunt. Als het knooppunt wordt opgeheven, is truede IsLifted eigenschap . Anders is falsehet . De IsLiftedToNull eigenschap is altijd false. De eigenschap Conversion is null.

De volgende informatie beschrijft de implementatiemethode, het knooppunttype en of een knooppunt wordt opgeheven.

Implementatiemethode

De implementatiemethode voor de bewerking wordt gekozen op basis van de volgende regels:

  • Als de Type eigenschap van een van left beide of right een door de gebruiker gedefinieerd type vertegenwoordigt dat de operator 'kleiner dan' overbelast, is de MethodInfo methode die de implementatiemethode vertegenwoordigt.

  • Anders, als left.Type en right.Type numerieke typen zijn, is de implementatiemethode null.

Type knooppunt en opgeheven versus niet-opgeheven

Als de implementatiemethode niet null is:

  • Als left.Type en right.Type kunnen worden toegewezen aan de bijbehorende argumenttypen van de implementatiemethode, dan wordt het knooppunt niet opgeheven. Het type van het knooppunt is het retourtype van de implementatiemethode.

  • Als aan de volgende twee voorwaarden wordt voldaan, wordt het knooppunt opgeheven en is Booleanhet type van het knooppunt:

    • left.Type en right.Type zijn beide waardetypen waarvan er ten minste één nullable is, en de bijbehorende niet-nullable typen zijn gelijk aan de overeenkomstige argumenttypen van de implementatiemethode.

    • Het retourtype van de implementatiemethode is Boolean.

Als de implementatiemethode het volgende is null:

  • Als zowel left.Type als right.Type niet-nulbaar zijn, wordt het knooppunt niet opgeheven. Het type van het knooppunt is Boolean.

  • Als zowel left.Type als right.Type beide null-waarden kunnen hebben, wordt het knooppunt verheven. Het type van het knooppunt is Boolean.

Van toepassing op

LessThan(Expression, Expression, Boolean, MethodInfo)

Hiermee maakt u een BinaryExpression getal dat een numerieke vergelijking 'kleiner dan' vertegenwoordigt.

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

Parameters

left
Expression

Een Expression om de Left eigenschap in te stellen die gelijk is aan.

right
Expression

Een Expression om de Right eigenschap in te stellen die gelijk is aan.

liftToNull
Boolean

true om in te stellen IsLiftedToNull op true; false om in te stellen IsLiftedToNull op false.

method
MethodInfo

A MethodInfo om de Method eigenschap in te stellen die gelijk is aan.

Retouren

Een BinaryExpression met de NodeType eigenschap die gelijk is aan LessThan en de Left, Righten IsLiftedToNullMethod eigenschappen die zijn ingesteld op de opgegeven waarden.

Uitzonderingen

left of right is null.

method is niet null en de methode die deze vertegenwoordigt, retourneert void, is niet static (Shared in Visual Basic) of neemt niet precies twee argumenten.

method is null en de operator 'kleiner dan' is niet gedefinieerd voor left. Typ en right. Type.

Opmerkingen

De resulterende BinaryExpression eigenschap is Method ingesteld op de implementatiemethode. De Type eigenschap is ingesteld op het type knooppunt. Als het knooppunt wordt opgeheven, is de IsLifted eigenschap en de IsLiftedToNull eigenschap gelijk aan liftToNull.true Anders zijn ze beide false. De eigenschap Conversion is null.

De volgende informatie beschrijft de implementatiemethode, het knooppunttype en of een knooppunt wordt opgeheven.

Implementatiemethode

De volgende regels bepalen de implementatiemethode voor de bewerking:

  • Als method niet is null en deze een niet-ongeldige static (Shared in Visual Basic) vertegenwoordigt, is dit de implementatiemethode.

  • Als de eigenschap van een left van beide of right een door de Type gebruiker gedefinieerd type vertegenwoordigt dat de operator 'kleiner dan' overbelast, is de methode die MethodInfo de implementatiemethode vertegenwoordigt.

  • Anders, als left.Type en right.Type numerieke typen zijn, is de implementatiemethode null.

Type knooppunt en opgeheven versus niet-opgeheven

Als de implementatiemethode niet null is:

  • Als left.Type en right.Type kunnen worden toegewezen aan de bijbehorende argumenttypen van de implementatiemethode, dan wordt het knooppunt niet opgeheven. Het type van het knooppunt is het retourtype van de implementatiemethode.

  • Als aan de volgende twee voorwaarden wordt voldaan, wordt het knooppunt opgeheven; ook is het type van het knooppunt nullbaar Boolean als liftToNull dat het is falsetrue ofBoolean:liftToNull

    • left.Type en right.Type zijn beide waardetypen waarvan er ten minste één nullable is, en de bijbehorende niet-nullable typen zijn gelijk aan de overeenkomstige argumenttypen van de implementatiemethode.

    • Het retourtype van de implementatiemethode is Boolean.

Als de implementatiemethode het volgende is null:

  • Als zowel left.Type als right.Type niet-nulbaar zijn, wordt het knooppunt niet opgeheven. Het type van het knooppunt is Boolean.

  • Als zowel left.Type als right.Type beide null-waarden kunnen hebben, wordt het knooppunt verheven. Het type van het knooppunt kan null zijn Boolean als liftToNull dat wel true of Boolean wel liftToNull is false.

Van toepassing op