Expression.LessThan Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Crea un objeto BinaryExpression que representa una comparación numérica "menor que".
Sobrecargas
LessThan(Expression, Expression) |
Crea un objeto BinaryExpression que representa una comparación numérica "menor que". |
LessThan(Expression, Expression, Boolean, MethodInfo) |
Crea un objeto BinaryExpression que representa una comparación numérica "menor que". |
LessThan(Expression, Expression)
- Source:
- BinaryExpression.cs
- Source:
- BinaryExpression.cs
- Source:
- BinaryExpression.cs
Crea un objeto BinaryExpression que representa una comparación 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
Objeto Expression en el que se va a establecer la propiedad Left.
- right
- Expression
Objeto Expression en el que se va a establecer la propiedad Right.
Devoluciones
BinaryExpression cuya propiedad NodeType es LessThan y cuyas propiedades Left y Right se establecen en los valores especificados.
Excepciones
left
o right
es null
.
No hay ningún operador "menor que" definido para left
.Type y right
.Type.
Ejemplos
En el ejemplo de código siguiente se muestra cómo crear una expresión que compare dos enteros.
// 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
Comentarios
El resultante BinaryExpression tiene la Method propiedad establecida en el método de implementación. La Type propiedad se establece en el tipo del nodo. Si se levanta el nodo, la IsLifted propiedad es true
. De lo contrario, es false
. La propiedad IsLiftedToNull es siempre false
. La propiedad Conversion es null
.
La siguiente información describe el método de implementación, el tipo de nodo y si se levanta un nodo.
Método de implementación
El método de implementación para la operación se elige en función de las reglas siguientes:
Si la Type propiedad de o
left
right
representa un tipo definido por el usuario que sobrecarga el operador "menor que", que MethodInfo representa ese método es el método de implementación.De lo contrario, si
left
es . Escriba yright
. El tipo son tipos numéricos, el método de implementación esnull
.
Tipo de nodo y Elevación frente a No elevado
Si el método de implementación no null
es :
Si
left
. Escriba yright
. El tipo se puede asignar a los tipos de argumento correspondientes del método de implementación, el nodo no se levanta. El tipo del nodo es el tipo de valor devuelto del método de implementación.Si se cumplen las dos condiciones siguientes, el nodo se levanta y el tipo del nodo es Boolean:
left
. Escriba yright
. El tipo son ambos tipos de valor de los que al menos uno acepta valores NULL y los tipos que no aceptan valores NULL correspondientes son iguales a los tipos de argumento correspondientes del método de implementación.El tipo de valor devuelto del método de implementación es Boolean.
Si el método de implementación es null
:
Si
left
. Escriba yright
. El tipo no acepta valores NULL, el nodo no se levanta. El tipo del nodo es Boolean.Si
left
. Escriba yright
. El tipo acepta valores NULL y se levanta el nodo. El tipo del nodo es Boolean.
Se aplica a
LessThan(Expression, Expression, Boolean, MethodInfo)
- Source:
- BinaryExpression.cs
- Source:
- BinaryExpression.cs
- Source:
- BinaryExpression.cs
Crea un objeto BinaryExpression que representa una comparación 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
Objeto Expression en el que se va a establecer la propiedad Left.
- right
- Expression
Objeto Expression en el que se va a establecer la propiedad Right.
- liftToNull
- Boolean
Es true
para establecer IsLiftedToNull en true
; es false
para establecer IsLiftedToNull en false
.
- method
- MethodInfo
MethodInfo en el que se va a establecer la propiedad Method.
Devoluciones
BinaryExpression cuya propiedad NodeType es LessThan y Left, Right, IsLiftedToNull y Method se establecen en los valores especificados.
Excepciones
left
o right
es null
.
method
no es null
y el método que representa devuelve void
, no es static
(Shared
en Visual Basic) o no toma exactamente dos argumentos.
method
es null
y el operador "menor que" no está definido para left
.Type y right
.Type.
Comentarios
El resultante BinaryExpression tiene la Method propiedad establecida en el método de implementación. La Type propiedad se establece en el tipo del nodo. Si se levanta el nodo, la IsLifted propiedad es true
y la IsLiftedToNull propiedad es igual a liftToNull
. De lo contrario, son .false
La propiedad Conversion es null
.
La siguiente información describe el método de implementación, el tipo de nodo y si se levanta un nodo.
Método de implementación
Las reglas siguientes determinan el método de implementación para la operación:
Si
method
no es y representa un método que nonull
es void,static
(Shared
en Visual Basic) que toma dos argumentos, es el método de implementación.De lo contrario, si la Type propiedad de o
right
left
representa un tipo definido por el usuario que sobrecarga el operador "menor que", que MethodInfo representa ese método es el método de implementación.De lo contrario, si
left
es . Escriba yright
. El tipo son tipos numéricos, el método de implementación esnull
.
Tipo de nodo y Elevación frente a No elevado
Si el método de implementación no null
es :
Si
left
. Escriba yright
. El tipo se puede asignar a los tipos de argumento correspondientes del método de implementación, el nodo no se levanta. El tipo del nodo es el tipo de valor devuelto del método de implementación.Si se cumplen las dos condiciones siguientes, se levanta el nodo; además, el tipo del nodo acepta valores NULL Boolean si
liftToNull
estrue
o Boolean siliftToNull
esfalse
:left
. Escriba yright
. El tipo son ambos tipos de valor de los que al menos uno acepta valores NULL y los tipos que no aceptan valores NULL correspondientes son iguales a los tipos de argumento correspondientes del método de implementación.El tipo de valor devuelto del método de implementación es Boolean.
Si el método de implementación es null
:
Si
left
. Escriba yright
. El tipo no acepta valores NULL, el nodo no se levanta. El tipo del nodo es Boolean.Si
left
. Escriba yright
. El tipo acepta valores NULL y se levanta el nodo. El tipo del nodo acepta valores NULL Boolean siliftToNull
estrue
o Boolean siliftToNull
esfalse
.