Expression.LessThan Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Создает BinaryExpression, представляющий числовое сравнение объектов "меньше, чем".
Перегрузки
| LessThan(Expression, Expression) |
Создает BinaryExpression, представляющий числовое сравнение объектов "меньше, чем". |
| LessThan(Expression, Expression, Boolean, MethodInfo) |
Создает BinaryExpression, представляющий числовое сравнение объектов "меньше, чем". |
LessThan(Expression, Expression)
- Исходный код:
- BinaryExpression.cs
- Исходный код:
- BinaryExpression.cs
- Исходный код:
- BinaryExpression.cs
Создает BinaryExpression, представляющий числовое сравнение объектов "меньше, чем".
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
Параметры
- left
- Expression
Объект Expression, который следует задать в качестве значения свойства Left.
- right
- Expression
Объект Expression, который следует задать в качестве значения свойства Right.
Возвращаемое значение
Выражение BinaryExpression со свойствомNodeType, равным LessThan, и свойствами Left и Right, для которых заданы указанные значения.
Исключения
Параметр left или right имеет значение null.
Оператор "меньше, чем" не определен для типов left.Type и right.Type.
Примеры
В следующем примере кода показано, как создать выражение, сравнивающее два целых числа.
// 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
Комментарии
Результирующее BinaryExpression свойство имеет Method значение реализующий метод. Свойству Type присваивается тип узла. Если узел снят, IsLifted свойство имеет значение true. В противном случае значение равно false. Свойство IsLiftedToNull всегда имеет значение false. Значение свойства Conversion — null.
Ниже приведены сведения о реализуемом методе, типе узла и о том, удаляется ли узел.
Реализация метода
Метод реализации для операции выбирается на основе следующих правил:
Type Если свойство объекта
leftилиrightпредставляет определяемый пользователем тип, который перегружает оператор "меньше чем", то объект , MethodInfo представляющий этот метод, является реализующим методом.В противном случае , если
left. Введите иright. Тип является числовыми типами, реализующим методом являетсяnull.
Тип узла, а также отменено и не отменено
Если реализующим методом не nullявляется :
Если
left. Введите иright. Тип можно назначить соответствующим типам аргументов реализующего метода, узел не отменяется. Тип узла является типом возвращаемого значения реализующего метода.Если выполняются следующие два условия, узел отменяется, а тип узла — Boolean.
left. Введите иright. Тип — это оба типа значений, для которых по крайней мере один из них допускает значение NULL, а соответствующие типы, не допускающие значения NULL, равны соответствующим типам аргументов реализующего метода.Тип возвращаемого значения реализующего метода — Boolean.
Если реализующим методом является null:
Если
left. Введите иright. Тип не допускает значения NULL, узел не отменяется. Тип узла — Boolean.Если
left. Введите иright. Тип допускает значение NULL, узел будет снят. Тип узла — Boolean.
Применяется к
LessThan(Expression, Expression, Boolean, MethodInfo)
- Исходный код:
- BinaryExpression.cs
- Исходный код:
- BinaryExpression.cs
- Исходный код:
- BinaryExpression.cs
Создает BinaryExpression, представляющий числовое сравнение объектов "меньше, чем".
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
Параметры
- left
- Expression
Объект Expression, который следует задать в качестве значения свойства Left.
- right
- Expression
Объект Expression, который следует задать в качестве значения свойства Right.
- liftToNull
- Boolean
true, чтобы задать для IsLiftedToNullзначение true; false, чтобы задать для IsLiftedToNull значение false.
- method
- MethodInfo
Объект MethodInfo, который следует задать в качестве значения свойства Method.
Возвращаемое значение
Выражение BinaryExpression, содержащее свойство NodeType, равное LessThan и Left, Right, IsLiftedToNull, и свойства Method, для которых заданы указанные значения.
Исключения
Параметр left или right имеет значение null.
method не имеет значение null, и метод, который он представляет, возвращает void, а не static (Shared в Visual Basic), или не принимает ровно два аргумента.
method имеет значение null, и оператор "меньше, чем" не определен для left.Type и right.Type.
Комментарии
Результирующее BinaryExpression свойство имеет Method значение реализующий метод. Свойству Type присваивается тип узла. Если узел снят, свойство равно true , IsLifted а IsLiftedToNull свойство равно liftToNull. В противном случае они оба falseимеют значение . Значение свойства Conversion — null.
Ниже приведены сведения о реализуемом методе, типе узла и о том, удаляется ли узел.
Реализация метода
Следующие правила определяют метод реализации для операции:
Если
methodпараметр неnullимеет значения и представляет метод non-void (staticSharedв Visual Basic), который принимает два аргумента, он является реализующим методом.В противном случае, если Type свойство объекта
leftилиrightпредставляет пользовательский тип, который перегружает оператор "меньше чем", объект , MethodInfo представляющий этот метод, является реализующим методом.В противном случае , если
left. Введите иright. Тип является числовыми типами, реализующим методом являетсяnull.
Тип узла, а также отменено и не отменено
Если реализующим методом не nullявляется :
Если
left. Введите иright. Тип можно назначить соответствующим типам аргументов реализующего метода, узел не отменяется. Тип узла является типом возвращаемого значения реализующего метода.Если выполняются следующие два условия, узел приподнимается; Кроме того, тип узла допускает значение Boolean NULL, если
liftToNullимеет значениеtrueили Boolean еслиliftToNullимеет значениеfalse.left. Введите иright. Тип — это оба типа значений, для которых по крайней мере один из них допускает значение NULL, а соответствующие типы, не допускающие значения NULL, равны соответствующим типам аргументов реализующего метода.Тип возвращаемого значения реализующего метода — Boolean.
Если реализующим методом является null:
Если
left. Введите иright. Тип не допускает значения NULL, узел не отменяется. Тип узла — Boolean.Если
left. Введите иright. Тип допускает значение NULL, узел будет снят. Тип узла допускает значение Boolean NULL, еслиliftToNullимеет значениеtrueили Boolean еслиliftToNullимеет значениеfalse.