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.Condition-Methode: (Expression, Expression, Expression)

 

Veröffentlicht: Oktober 2016

Erstellt eine ConditionalExpression, die eine bedingte Anweisung darstellt.

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

public static ConditionalExpression Condition(
	Expression test,
	Expression ifTrue,
	Expression ifFalse
)

Parameter

test
Type: System.Linq.Expressions.Expression

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

ifTrue
Type: System.Linq.Expressions.Expression

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

ifFalse
Type: System.Linq.Expressions.Expression

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

Rückgabewert

Type: System.Linq.Expressions.ConditionalExpression

Ein ConditionalExpression, bei dem die NodeType-Eigenschaft gleich Conditional ist und die Eigenschaften Test, IfTrue und IfFalse auf die angegebenen Werte festgelegt sind.

Exception Condition
ArgumentNullException

test oder ifTrue oder ifFalse ist null.

ArgumentException

test. Der Typ ist nicht Boolean.

- oder -

ifTrue. Typ stimmt nicht mit ifFalse. Geben Sie ein.

Die Type -Eigenschaft der resultierenden ConditionalExpression gleich der Type -Eigenschaft des ifTrue.

Im folgenden Codebeispiel wird veranschaulicht, wie einen Ausdruck erstellt, der eine bedingte Anweisung darstellt. Wenn das erste Argument ergibt true, das zweite Argument ausgeführt, andernfalls das dritte Argument ausgeführt wird.

// Add the following directive to your file:
// using System.Linq.Expressions; 

int num = 100;

// This expression represents a conditional operation. 
// It evaluates the test (first expression) and
// executes the iftrue block (second argument) if the test evaluates to true, 
// or the iffalse block (third argument) if the test evaluates to false.
Expression conditionExpr = Expression.Condition(
                           Expression.Constant(num > 10),
                           Expression.Constant("num is greater than 10"),
                           Expression.Constant("num is smaller than 10")
                         );

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

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

// This code example produces the following output:
//
// IIF("True", "num is greater than 10", "num is smaller than 10")
// num is greater than 10

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: