Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

Expression.LessThan-Methode: (Expression, Expression)

 

Veröffentlicht: Oktober 2016

Erstellt eine BinaryExpression, die einen numerischen "Kleiner als"-Vergleich darstellt.

Namespace:   System.Linq.Expressions
Assembly:  System.Core (in System.Core.dll)

public static BinaryExpression LessThan(
	Expression left,
	Expression right
)

Parameter

left
Type: System.Linq.Expressions.Expression

Ein Expression, auf den die Left-Eigenschaft festgelegt werden soll.

right
Type: System.Linq.Expressions.Expression

Ein Expression, auf den die Right-Eigenschaft festgelegt werden soll.

Rückgabewert

Type: System.Linq.Expressions.BinaryExpression

Ein BinaryExpression, bei dem die NodeType-Eigenschaft gleich LessThan ist und die Left-Eigenschaft sowie die Right-Eigenschaft auf die angegebenen Werte festgelegt sind.

Exception Condition
ArgumentNullException

left oder right ist null.

InvalidOperationException

Der Operator "kleiner als" ist nicht definiert left. Typ und right. Geben Sie ein.

Das resultierende BinaryExpression hat die Method -Eigenschaft auf die implementierende Methode festgelegt. Die Type -Eigenschaft auf den Typ des Knotens festgelegt ist. Wenn der Knoten transformiert wird, die IsLifted Eigenschaft ist true. Andernfalls ist der Wert false. Die IsLiftedToNull-Eigenschaft ist immer false. Die Conversion-Eigenschaft ist null.

Die folgenden Informationen beschreiben die implementierende Methode und der Knotentyp und, ob ein Knoten transformiert wird.

Die implementierende Methode für die Operation wird auf der Grundlage der folgenden Regeln ausgewählt:

  • Wenn die Type -Eigenschaft von left oder right stellt einen benutzerdefinierten Typ, der den Operator "kleiner als" überlädt die MethodInfo die Methode darstellt, die implementierende Methode.

  • Andernfalls gilt: Wenn left. Typ und right. Type numerische Typen, die die implementierende Methode null.

Die implementierende Methode ist nicht null:

  • Wenn left. Typ und right. Geben den entsprechenden Argumenttypen der implementierenden Methode zugeordnet werden können, ist der Knoten nicht transformiert. Der Typ des Knotens ist der Rückgabetyp der implementierenden Methode.

  • Wenn die beiden folgenden Bedingungen erfüllt sind, der Knoten transformiert ist und der Typ des Knotens ist Boolean:

    • left. Typ und right. Sind beide Werttypen, von denen mindestens NULL ist zulässig, und die entsprechenden NULL-Typen sind gleich den entsprechenden Argumenttypen der implementierenden Methode.

    • Der Rückgabetyp der implementierenden Methode ist Boolean.

Wenn die implementierende Methode null:

  • Wenn left. Typ und right. Sind NULL-Werte zulassen, der Knoten nicht transformiert. Der Typ des Knotens ist Boolean.

  • Wenn left. Typ und right. Sind NULL-Werte zulassen, der Knoten transformiert wird. Der Typ des Knotens ist Boolean.

Im folgenden Codebeispiel wird veranschaulicht, wie einen Ausdruck erstellt, der zwei ganze Zahlen vergleicht.

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

Universelle Windows-Plattform
Verfügbar seit 8
.NET Framework
Verfügbar seit 3.5
Portierbare Klassenbibliothek
Unterstützt in: portierbare .NET-Plattformen
Silverlight
Verfügbar seit 2.0
Windows Phone Silverlight
Verfügbar seit 7.0
Windows Phone
Verfügbar seit 8.1
Zurück zum Anfang
Anzeigen: