Expression.LessThan Método

Definição

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

Sobrecargas

Name 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

E Expression para definir a Left propriedade igual a .

right
Expression

E Expression para definir a Right propriedade igual a .

Devoluções

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

Exceções

left ou right é null.

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

Exemplos

O seguinte exemplo de código mostra como criar uma expressão que compare 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

Observações

O resultado BinaryExpression tem a Method propriedade definida para o método de implementação. A Type propriedade é definida como o tipo do nó. Se o nó for elevado, a IsLifted propriedade é true. Caso contrário, é false. A IsLiftedToNull propriedade é 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ó é levantado.

Método de Implementação

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

  • Se a Type propriedade de ou leftright representa um tipo definido pelo utilizador que sobrecarrega o operador "menos 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 Elevado versus Não Elevado

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

  • Se left. Tipo e right. Tipo são atribuíveis aos tipos de argumento correspondentes do método de implementação, o nó não é levantado. O tipo do nó é o tipo de retorno do método de implementação.

  • Se as duas condições seguintes forem satisfeitas, o nó é elevado e o tipo do nó é Boolean:

    • left. Tipo e right. Tipo são ambos os tipos de valor dos quais pelo menos um é anulável e os tipos não anuláveis 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 execução for null:

  • Se left. Tipo e right. Tipo são ambos não-anuláveis, o nó não é levantado. O tipo do nó é Boolean.

  • Se left. Tipo e right. Tipo são ambos anuláveis, o nó é levantado. 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

E Expression para definir a Left propriedade igual a .

right
Expression

E Expression para definir a Right propriedade igual a .

liftToNull
Boolean

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

method
MethodInfo

A MethodInfo para definir a Method propriedade igual a .

Devoluções

A BinaryExpression que tem a NodeType propriedade igual a LessThan e a Left, Right, IsLiftedToNull, e Method propriedades definidas com os valores especificados.

Exceções

left ou right é null.

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

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

Observações

O resultado BinaryExpression tem a Method propriedade definida para o método de implementação. A Type propriedade é definida como o tipo do nó. Se o nó for elevado, a IsLifted propriedade é true e a IsLiftedToNull propriedade é igual a liftToNull. Caso contrário, ambos falsesã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ó é levantado.

Método de Implementação

As seguintes regras determinam o método de implementação da operação:

  • Se method não for null e representar um método não nulo, static (Shared em Visual Basic) que utiliza dois argumentos, é o método implementador.

  • Caso contrário, se a Type propriedade de ou leftright representa um tipo definido pelo utilizador que sobrecarrega o operador "menos 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 Elevado versus Não Elevado

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

  • Se left. Tipo e right. Tipo são atribuíveis aos tipos de argumento correspondentes do método de implementação, o nó não é levantado. O tipo do nó é o tipo de retorno do método de implementação.

  • Se as duas condições seguintes forem satisfeitas, o nó é elevado; 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 os tipos de valor dos quais pelo menos um é anulável e os tipos não anuláveis 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 execução for null:

  • Se left. Tipo e right. Tipo são ambos não-anuláveis, o nó não é levantado. O tipo do nó é Boolean.

  • Se left. Tipo e right. Tipo são ambos anuláveis, o nó é levantado. O tipo do nó é anulável Boolean se liftToNull for true ou Boolean se liftToNull for false.

Aplica-se a