Compartilhar via


Expression.LessThan Método

Definição

Cria um BinaryExpression que representa uma comparação numérica "menor que".

Sobrecargas

Nome Description
LessThan(Expression, Expression)

Cria um BinaryExpression que representa uma comparação numérica "menor que".

LessThan(Expression, Expression, Boolean, MethodInfo)

Cria um BinaryExpression que representa uma comparação numérica "menor que".

LessThan(Expression, Expression)

Origem:
BinaryExpression.cs
Origem:
BinaryExpression.cs
Origem:
BinaryExpression.cs
Origem:
BinaryExpression.cs
Origem:
BinaryExpression.cs

Cria um BinaryExpression que representa uma comparação numérica "menor que".

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

Parâmetros

left
Expression

Um Expression para definir a Left propriedade igual a.

right
Expression

Um Expression para definir a Right propriedade igual a.

Retornos

Um BinaryExpression que tem a NodeType propriedade igual a LessThan e as Left propriedades e Right definidas para os valores especificados.

Exceções

left ou right é null.

O operador "menor que" não está definido para left. Digite e right. Tipo.

Exemplos

O exemplo de código a seguir mostra como criar uma expressão que compara dois inteiros.

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

Comentários

O resultado BinaryExpression tem a Method propriedade definida como o método de implementação. A propriedade Type é definida como o tipo do nó. Se o nó for levantado, a IsLifted propriedade será true. Caso contrário, será false. A propriedade IsLiftedToNull é sempre false. A propriedade Conversion é null.

As informações a seguir descrevem o método de implementação, o tipo de nó e se um nó tem comparação de precisão.

Implementando método

O método de implementação para a operação é escolhido com base nas seguintes regras:

  • Se a Type propriedade de um left ou right representa um tipo definido pelo usuário que sobrecarrega o operador "menor que", o MethodInfo que representa esse método é o método de implementação.

  • Caso contrário, se left.Tipo e right.Tipo são tipos numéricos, o método de implementação é null.

Tipo de nó e levantado versus não-levantado

Se o método de implementação não for null:

  • Se left.Type e right.Type forem atribuíveis aos tipos de argumentos correspondentes do método de implementação, o nó não terá comparação de precisão. O tipo do nó é o tipo de retorno do método de implementação.

  • Se as duas condições a seguir forem atendidas, o nó será levantado e o tipo do nó será Boolean:

    • left.tipo e right.tipo são ambos tipos de valor dos quais pelo menos um é nulo, e os tipos não nulos correspondentes são iguais aos tipos de argumento correspondentes do método de implementação.

    • O tipo de retorno do método de implementação é Boolean.

Se o método de implementação for null:

  • Se left.Type e right.Type forem não anuláveis, o nó não terá comparação de precisão. O tipo do nó é Boolean.

  • Se left.Type e right.Type forem anuláveis, o nó terá comparação de precisão. O tipo do nó é Boolean.

Aplica-se a

LessThan(Expression, Expression, Boolean, MethodInfo)

Origem:
BinaryExpression.cs
Origem:
BinaryExpression.cs
Origem:
BinaryExpression.cs
Origem:
BinaryExpression.cs
Origem:
BinaryExpression.cs

Cria um BinaryExpression que representa uma comparação numérica "menor que".

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

Parâmetros

left
Expression

Um Expression para definir a Left propriedade igual a.

right
Expression

Um Expression para definir a Right propriedade igual a.

liftToNull
Boolean

true para definir IsLiftedToNull como true; false para definir IsLiftedToNull como false.

method
MethodInfo

A MethodInfo para definir a Method propriedade igual a.

Retornos

Um BinaryExpression que tem a NodeType propriedade igual a LessThan , e , RightLeftIsLiftedToNulle Method propriedades definidas para os valores especificados.

Exceções

left ou right é null.

method não null é e o método que ele representa retorna void, não static é (Shared no Visual Basic) ou não usa exatamente dois argumentos.

method é null e o operador "menor que" não está definido para left. Digite e right. Tipo.

Comentários

O resultado BinaryExpression tem a Method propriedade definida como o método de implementação. A propriedade Type é definida como o tipo do nó. Se o nó for levantado, a IsLifted propriedade será true e a IsLiftedToNull propriedade será igual a liftToNull. Caso contrário, ambos falseserão . A propriedade Conversion é null.

As informações a seguir descrevem o método de implementação, o tipo de nó e se um nó tem comparação de precisão.

Implementando método

As regras a seguir determinam o método de implementação para a operação:

  • Se method não null estiver e ele representar um método não nulo, static (Shared no Visual Basic) que usa dois argumentos, é o método de implementação.

  • Caso contrário, se a Type propriedade de um left ou right representa um tipo definido pelo usuário que sobrecarrega o operador "menor que", o MethodInfo que representa esse método é o método de implementação.

  • Caso contrário, se left.Tipo e right.Tipo são tipos numéricos, o método de implementação é null.

Tipo de nó e levantado versus não-levantado

Se o método de implementação não for null:

  • Se left.Type e right.Type forem atribuíveis aos tipos de argumentos correspondentes do método de implementação, o nó não terá comparação de precisão. O tipo do nó é o tipo de retorno do método de implementação.

  • Se as duas condições a seguir forem atendidas, o nó será levantado; além disso, o tipo do nó é anulável Boolean se liftToNull for true ou Boolean se liftToNull for false:

    • left.tipo e right.tipo são ambos tipos de valor dos quais pelo menos um é nulo, e os tipos não nulos correspondentes são iguais aos tipos de argumento correspondentes do método de implementação.

    • O tipo de retorno do método de implementação é Boolean.

Se o método de implementação for null:

  • Se left.Type e right.Type forem não anuláveis, o nó não terá comparação de precisão. O tipo do nó é Boolean.

  • Se left.Type e right.Type forem anuláveis, o nó terá comparação de precisão. O tipo do nó é anulável Boolean se liftToNull for true ou Boolean se liftToNull for false.

Aplica-se a