Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

Método Expression.GreaterThanOrEqual (Expression, Expression)

 

Publicado: octubre de 2016

Crea un objeto BinaryExpression que representa una comparación numérica "mayor o igual que".

Espacio de nombres:   System.Linq.Expressions
Ensamblado:  System.Core (en System.Core.dll)

public static BinaryExpression GreaterThanOrEqual(
	Expression left,
	Expression right
)

Parámetros

left
Type: System.Linq.Expressions.Expression

Objeto Expression en el que se va a establecer la propiedad Left.

right
Type: System.Linq.Expressions.Expression

Objeto Expression en el que se va a establecer la propiedad Right.

Valor devuelto

Type: System.Linq.Expressions.BinaryExpression

BinaryExpression cuya propiedad NodeType es GreaterThanOrEqual y cuyas propiedades Left y Right se establecen en los valores especificados.

Exception Condition
ArgumentNullException

El valor de left o right es null.

InvalidOperationException

El operador "mayor o igual que" no está definido para left. Tipo y right. Tipo.

Resultante BinaryExpression tiene la Method propiedad establecida en el método de implementación. El Type propiedad está establecida en el tipo del nodo. Si se eleva el nodo, el 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 eleva un nodo.

Las siguientes reglas determinan el método de implementación para la operación:

  • Si el Type propiedad de uno de ellos left o right representa un tipo definido por el usuario que sobrecarga el operador "mayor o igual que", el MethodInfo que representa ese método es el método de implementación.

  • De lo contrario, si left. Tipo y right. Type son tipos numéricos, el método de implementación es null.

Si el método de implementación no es null:

  • Si left. Tipo y right. Tipo asignable a los tipos de argumento correspondientes del método de implementación, no se eleva el nodo. El tipo del nodo es el tipo de valor devuelto del método de implementación.

  • Si se cumplen las dos condiciones siguientes, se eleva el nodo y el tipo del nodo es Boolean:

    • left. Tipo y right. Tipo son tipos de valor de los cuales al menos uno acepta valores NULL y los correspondientes tipos que no aceptan valores NULL son iguales a los tipos de argumento correspondientes del método de implementación.

    • El tipo devuelto del método de implementación es Boolean.

Si el método de implementación es null:

  • Si left. Tipo y right. Tipo son ambos no aceptan valores NULL, no se eleva el nodo. El tipo del nodo es Boolean.

  • Si left. Tipo y right. Tipo son aceptan valores NULL, se eleva el nodo. El tipo del nodo es Boolean.

En el ejemplo de código siguiente se muestra cómo crear una expresión que compara 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 greaterThanOrEqual = Expression.GreaterThanOrEqual(
    Expression.Constant(42),
    Expression.Constant(45)
);

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

// The following statement first creates an expression tree,
// then compiles it, and then executes it. 
Console.WriteLine(Expression.Lambda<Func<bool>>(greaterThanOrEqual).Compile()());

// This code example produces the following output:
//
// (42 >= 45)
// False

Plataforma universal de Windows
Disponible desde 8
.NET Framework
Disponible desde 3.5
Biblioteca de clases portable
Se admite en: plataformas portátiles de .NET
Silverlight
Disponible desde 2.0
Windows Phone Silverlight
Disponible desde 7.0
Windows Phone
Disponible desde 8.1
Volver al principio
Mostrar: