(0) exportieren Drucken
Alle erweitern
Dieser Artikel wurde maschinell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
Übersetzung
Original

Expression.GreaterThanOrEqual-Methode (Expression, Expression)

Erstellt eine BinaryExpression, die einen numerischen "Größer oder gleich"-Vergleich darstellt.

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

public static BinaryExpression GreaterThanOrEqual(
	Expression left,
	Expression right
)

Parameter

left
Typ: System.Linq.Expressions.Expression
Ein Expression, auf den die Left-Eigenschaft festgelegt werden soll.
right
Typ: System.Linq.Expressions.Expression
Ein Expression, auf den die Right-Eigenschaft festgelegt werden soll.

Rückgabewert

Typ: System.Linq.Expressions.BinaryExpression
Ein BinaryExpression, bei dem die NodeType-Eigenschaft gleich GreaterThanOrEqual ist und die Left-Eigenschaft sowie die Right-Eigenschaft auf die angegebenen Werte festgelegt sind.

AusnahmeBedingung
ArgumentNullException

left oder right ist null.

InvalidOperationException

Der "Größer oder gleich"-Operator ist für left.Type und right.Type nicht definiert.

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

In den folgenden Abschnitten werden die implementierende Methode und der Knotentyp beschrieben, und es wird angegeben, ob ein Knoten transformiert ist.

Bb347364.collapse_all(de-de,VS.110).gifImplementierende Methode

Die folgenden Regeln bestimmen die implementierende Methode für die Operation:

  • Wenn die Type-Eigenschaft von left oder right einen benutzerdefinierten Typ darstellt, der den "Größer oder gleich"-Operator überlädt, ist die MethodInfo, die diese Methode darstellt, die implementierende Methode.

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

Bb347364.collapse_all(de-de,VS.110).gifKnotentyp, transformierte Knoten und nicht transformierte Knoten

Wenn die implementierende Methode nicht null ist, gilt Folgendes:

  • Wenn left.Type und right.Type 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 folgenden beiden Bedingungen erfüllt sind, ist der Knoten transformiert, und der Typ des Knotens ist Boolean:

    • Sowohl left.Type als auch right.Type sind Werttypen, von denen mindestens einer NULL-Werte zulässt, und die entsprechenden Typen, die keine NULL-Werte zulassen, sind gleich den entsprechenden Argumenttypen der implementierenden Methode.

    • Der Rückgabetyp der implementierenden Methode ist Boolean.

Wenn die implementierende Methode null ist, gilt Folgendes:

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

  • Wenn sowohl left.Type als auch right.Type NULL-Werte zulassen, ist der Knoten transformiert. Der Typ des Knotens ist Boolean.

Im folgenden Codebeispiel wird gezeigt, wie ein Ausdruck erstellt wird, 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 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


.NET Framework

Unterstützt in: 4.5.2, 4.5.1, 4.5, 4, 3.5

.NET Framework Client Profile

Unterstützt in: 4, 3.5 SP1

Portable Klassenbibliothek

Unterstützt in: Portable Klassenbibliothek

.NET für Windows Store-Apps

Unterstützt in: Windows 8

.NET für Windows Phone-Apps

Unterstützt in: Windows Phone 8, Silverlight 8.1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core-Rolle wird nicht unterstützt), Windows Server 2008 R2 (Server Core-Rolle wird mit SP1 oder höher unterstützt; Itanium wird nicht unterstützt)

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.

Community-Beiträge

HINZUFÜGEN
Anzeigen:
© 2014 Microsoft