This documentation is archived and is not being maintained.

Expression.Condition Method (Expression, Expression, Expression, Type)

Creates a ConditionalExpression that represents a conditional statement.

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

public static ConditionalExpression Condition(
	Expression test,
	Expression ifTrue,
	Expression ifFalse,
	Type type


Type: System.Linq.Expressions.Expression
An Expression to set the Test property equal to.
Type: System.Linq.Expressions.Expression
An Expression to set the IfTrue property equal to.
Type: System.Linq.Expressions.Expression
An Expression to set the IfFalse property equal to.
Type: System.Type
A Type to set the Type property equal to.

Return Value

Type: System.Linq.Expressions.ConditionalExpression
A ConditionalExpression that has the NodeType property equal to Conditional and the Test, IfTrue, and IfFalse properties set to the specified values.

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. Types of both ifTrue and ifFalse must be implicitly reference assignable to the result type. The type is allowed to be Void.

.NET Framework

Supported in: 4

.NET Framework Client Profile

Supported in: 4

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.