Expression.Condition Méthode

Définition

Crée un ConditionalExpression qui représente une instruction conditionnelle.Creates a ConditionalExpression that represents a conditional statement.

Surcharges

Condition(Expression, Expression, Expression)

Crée un ConditionalExpression qui représente une instruction conditionnelle.Creates a ConditionalExpression that represents a conditional statement.

Condition(Expression, Expression, Expression, Type)

Crée un ConditionalExpression qui représente une instruction conditionnelle.Creates a ConditionalExpression that represents a conditional statement.

Condition(Expression, Expression, Expression)

Crée un ConditionalExpression qui représente une instruction conditionnelle.Creates a ConditionalExpression that represents a conditional statement.

public:
 static System::Linq::Expressions::ConditionalExpression ^ Condition(System::Linq::Expressions::Expression ^ test, System::Linq::Expressions::Expression ^ ifTrue, System::Linq::Expressions::Expression ^ ifFalse);
public static System.Linq.Expressions.ConditionalExpression Condition (System.Linq.Expressions.Expression test, System.Linq.Expressions.Expression ifTrue, System.Linq.Expressions.Expression ifFalse);
static member Condition : System.Linq.Expressions.Expression * System.Linq.Expressions.Expression * System.Linq.Expressions.Expression -> System.Linq.Expressions.ConditionalExpression
Public Shared Function Condition (test As Expression, ifTrue As Expression, ifFalse As Expression) As ConditionalExpression

Paramètres

test
Expression

Expression auquel la propriété Test doit être égale.An Expression to set the Test property equal to.

ifTrue
Expression

Expression auquel la propriété IfTrue doit être égale.An Expression to set the IfTrue property equal to.

ifFalse
Expression

Expression auquel la propriété IfFalse doit être égale.An Expression to set the IfFalse property equal to.

Retours

ConditionalExpression dont la propriété NodeType est égale à Conditional et dont les propriétés Test, IfTrue et IfFalse ont les valeurs spécifiées.A ConditionalExpression that has the NodeType property equal to Conditional and the Test, IfTrue, and IfFalse properties set to the specified values.

Exceptions

test ou ifTrue ou ifFalse a la valeur null.test or ifTrue or ifFalse is null.

test.Type n'est pas Boolean.test.Type is not Boolean.

- ou --or- ifTrue.Type n'est pas égal à ifFalse.Type.ifTrue.Type is not equal to ifFalse.Type.

Exemples

L’exemple de code suivant montre comment créer une expression qui représente une instruction conditionnelle.The following code example shows how to create an expression that represents a conditional statement. Si le premier argument a la valeur true, le deuxième argument est exécuté ; sinon, le troisième argument est exécuté.If the first argument evaluates to true, the second argument is executed; otherwise, the third argument is executed.

// 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
' Add the following directive to your file:
' Imports System.Linq.Expressions  

Dim num As Integer = 100

' This expression represents a conditional operation; 
' it will evaluate the test (first expression) and
' execute the ifTrue block (second argument) if the test evaluates to true, 
' or the ifFalse block (third argument) if the test evaluates to false.
Dim conditionExpr As Expression = Expression.Condition(
                            Expression.Constant(num > 10),
                            Expression.Constant("n is greater than 10"),
                            Expression.Constant("n is smaller than 10")
                        )

' Print 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(Of Func(Of 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

Remarques

La Type propriété du résultant ConditionalExpression est égale à la Type propriété de ifTrue.The Type property of the resulting ConditionalExpression is equal to the Type property of ifTrue.

Voir aussi

Condition(Expression, Expression, Expression, Type)

Crée un ConditionalExpression qui représente une instruction conditionnelle.Creates a ConditionalExpression that represents a conditional statement.

public:
 static System::Linq::Expressions::ConditionalExpression ^ Condition(System::Linq::Expressions::Expression ^ test, System::Linq::Expressions::Expression ^ ifTrue, System::Linq::Expressions::Expression ^ ifFalse, Type ^ type);
public static System.Linq.Expressions.ConditionalExpression Condition (System.Linq.Expressions.Expression test, System.Linq.Expressions.Expression ifTrue, System.Linq.Expressions.Expression ifFalse, Type type);
static member Condition : System.Linq.Expressions.Expression * System.Linq.Expressions.Expression * System.Linq.Expressions.Expression * Type -> System.Linq.Expressions.ConditionalExpression

Paramètres

test
Expression

Expression auquel la propriété Test doit être égale.An Expression to set the Test property equal to.

ifTrue
Expression

Expression auquel la propriété IfTrue doit être égale.An Expression to set the IfTrue property equal to.

ifFalse
Expression

Expression auquel la propriété IfFalse doit être égale.An Expression to set the IfFalse property equal to.

type
Type

Type auquel la propriété Type doit être égale.A Type to set the Type property equal to.

Retours

ConditionalExpression dont la propriété NodeType est égale à Conditional et dont les propriétés Test, IfTrue et IfFalse ont les valeurs spécifiées.A ConditionalExpression that has the NodeType property equal to Conditional and the Test, IfTrue, and IfFalse properties set to the specified values.

Remarques

Cette méthode permet d’unifier explicitement le type de résultat de l’expression conditionnelle dans les cas où ifTrue les ifFalse types d’expressions et ne sont pas égaux.This method allows explicitly unifying the result type of the conditional expression in cases where the types of ifTrue and ifFalse expressions are not equal. Les types de ifTrue et ifFalse doivent être des références implicitement assignables au type de résultat.Types of both ifTrue and ifFalse must be implicitly reference assignable to the result type. Est autorisé à être Void. typeThe type is allowed to be Void.

S’applique à