Expression.LessThan Méthode

Définition

Crée un BinaryExpression qui représente une comparaison numérique « inférieur à ».

Surcharges

LessThan(Expression, Expression)

Crée un BinaryExpression qui représente une comparaison numérique « inférieur à ».

LessThan(Expression, Expression, Boolean, MethodInfo)

Crée un BinaryExpression qui représente une comparaison numérique « inférieur à ».

LessThan(Expression, Expression)

Crée un BinaryExpression qui représente une comparaison numérique « inférieur à ».

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

Paramètres

left
Expression

Expression auquel la propriété Left doit être égale.

right
Expression

Expression auquel la propriété Right doit être égale.

Retours

BinaryExpression

BinaryExpression dont la propriété NodeType est égale à LessThan et dont les propriétés Left et Right ont les valeurs spécifiées.

Exceptions

left ou right est null.

L'opérateur "inférieur à" n'est pas défini pour left.Type et right.Type.

Exemples

L’exemple de code suivant montre comment créer une expression qui compare deux entiers.

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

Remarques

Le résultat BinaryExpression a la Method propriété définie sur la méthode d’implémentation. La Type propriété est définie sur le type du nœud. Si le nœud est levé, la IsLifted propriété est true. Sinon, c’est false. La propriété IsLiftedToNull a toujours la valeur false. La propriété Conversion a la valeur null.

Les informations suivantes décrivent la méthode d’implémentation, le type de nœud et si un nœud est levé.

Implémentation de la méthode

La méthode d’implémentation de l’opération est choisie en fonction des règles suivantes :

  • Si la propriété de l’un Type ou right l’autre left représente un type défini par l’utilisateur qui surcharge l’opérateur « inférieur à », celle MethodInfo qui représente cette méthode est la méthode d’implémentation.

  • Sinon, si left. Tapez et right. Le type est des types numériques, la méthode d’implémentation est null.

Type de nœud et lifted versus non-lifted

Si la méthode d’implémentation n’est pas null:

  • Si left. Tapez et right. Le type est assignable aux types d’arguments correspondants de la méthode d’implémentation, le nœud n’est pas levé. Le type du nœud est le type de retour de la méthode d’implémentation.

  • Si les deux conditions suivantes sont remplies, le nœud est levé et le type du nœud est Boolean:

    • left. Tapez et right. Le type est les deux types de valeur dont au moins un est nullable et les types non nullables correspondants sont égaux aux types d’argument correspondants de la méthode d’implémentation.

    • Le type de retour de la méthode d’implémentation est Boolean.

Si la méthode d’implémentation est null:

  • Si left. Tapez et right. Le type n’est pas nullable, le nœud n’est pas levé. Le type du nœud est Boolean.

  • Si left. Tapez et right. Le type est à la fois nullable, le nœud est levé. Le type du nœud est Boolean.

S’applique à

LessThan(Expression, Expression, Boolean, MethodInfo)

Crée un BinaryExpression qui représente une comparaison numérique « inférieur à ».

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);
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

Paramètres

left
Expression

Expression auquel la propriété Left doit être égale.

right
Expression

Expression auquel la propriété Right doit être égale.

liftToNull
Boolean

true pour affecter à IsLiftedToNull la valeur true ; false pour affecter à IsLiftedToNull la valeur false.

method
MethodInfo

MethodInfo auquel la propriété Method doit être égale.

Retours

BinaryExpression

BinaryExpression dont la propriété NodeType est égale à LessThan et dont les propriétés Left, Right, IsLiftedToNull et Method ont les valeurs spécifiées.

Exceptions

left ou right est null.

method n’est pas null et la méthode représentée retourne void, pas static (Shared dans Visual Basic) ou ne prend pas exactement deux arguments.

method a la valeur null et l’opérateur « inférieur à » n’est pas défini pour left.Type. et right.Type.

Remarques

Le résultat BinaryExpression a la Method propriété définie sur la méthode d’implémentation. La Type propriété est définie sur le type du nœud. Si le nœud est levé, la IsLifted propriété est true et la IsLiftedToNull propriété est égale à liftToNull. Sinon, ils sont tous les deux false. La propriété Conversion a la valeur null.

Les informations suivantes décrivent la méthode d’implémentation, le type de nœud et si un nœud est levé.

Implémentation de la méthode

Les règles suivantes déterminent la méthode d’implémentation de l’opération :

  • Si method ce n’est pas null le cas et qu’il représente un non-void, static (Shareddans Visual Basic) méthode qui prend deux arguments, il s’agit de la méthode d’implémentation.

  • Sinon, si la propriété de l’un Type ou right l’autre left représente un type défini par l’utilisateur qui surcharge l’opérateur « inférieur à », celui MethodInfo qui représente cette méthode est la méthode d’implémentation.

  • Sinon, si left. Tapez et right. Le type est des types numériques, la méthode d’implémentation est null.

Type de nœud et lifted versus non-lifted

Si la méthode d’implémentation n’est pas null:

  • Si left. Tapez et right. Le type est assignable aux types d’arguments correspondants de la méthode d’implémentation, le nœud n’est pas levé. Le type du nœud est le type de retour de la méthode d’implémentation.

  • Si les deux conditions suivantes sont remplies, le nœud est levé ; en outre, le type du nœud est nullable Boolean s’il true liftToNull s’agit ou Boolean s’il liftToNull s’agit falsede :

    • left. Tapez et right. Le type est les deux types de valeur dont au moins un est nullable et les types non nullables correspondants sont égaux aux types d’argument correspondants de la méthode d’implémentation.

    • Le type de retour de la méthode d’implémentation est Boolean.

Si la méthode d’implémentation est null:

  • Si left. Tapez et right. Le type n’est pas nullable, le nœud n’est pas levé. Le type du nœud est Boolean.

  • Si left. Tapez et right. Le type est à la fois nullable, le nœud est levé. Le type du nœud est nullable Boolean s’il true liftToNull s’agit ou Boolean s’il s’agit liftToNull falsede .

S’applique à