Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
Export (0) Print
Expand All

ExpressionType Enumeration

Describes the node types for the nodes of an expression tree.

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

public enum ExpressionType

Member nameDescription
Supported by Portable Class LibraryAddAn addition operation, such as a + b, without overflow checking, for numeric operands.
Supported by Portable Class LibraryAddAssignAn addition compound assignment operation, such as (a += b), without overflow checking, for numeric operands.
Supported by Portable Class LibraryAddAssignCheckedAn addition compound assignment operation, such as (a += b), with overflow checking, for numeric operands.
Supported by Portable Class LibraryAddCheckedAn addition operation, such as (a + b), with overflow checking, for numeric operands.
Supported by Portable Class LibraryAndA bitwise or logical AND operation, such as (a & b) in C# and (a And b) in Visual Basic.
Supported by Portable Class LibraryAndAlsoA conditional AND operation that evaluates the second operand only if the first operand evaluates to true. It corresponds to (a && b) in C# and (a AndAlso b) in Visual Basic.
Supported by Portable Class LibraryAndAssignA bitwise or logical AND compound assignment operation, such as (a &= b) in C#.
Supported by Portable Class LibraryArrayIndexAn indexing operation in a one-dimensional array, such as array[index] in C# or array(index) in Visual Basic.
Supported by Portable Class LibraryArrayLengthAn operation that obtains the length of a one-dimensional array, such as array.Length.
Supported by Portable Class LibraryAssignAn assignment operation, such as (a = b).
Supported by Portable Class LibraryBlockA block of expressions.
Supported by Portable Class LibraryCallA method call, such as in the obj.sampleMethod() expression.
Supported by Portable Class LibraryCoalesceA node that represents a null coalescing operation, such as (a ?? b) in C# or If(a, b) in Visual Basic.
Supported by Portable Class LibraryConditionalA conditional operation, such as a > b ? a : b in C# or If(a > b, a, b) in Visual Basic.
Supported by Portable Class LibraryConstantA constant value.
Supported by Portable Class LibraryConvertA cast or conversion operation, such as (SampleType)obj in C#or CType(obj, SampleType) in Visual Basic. For a numeric conversion, if the converted value is too large for the destination type, no exception is thrown.
Supported by Portable Class LibraryConvertCheckedA cast or conversion operation, such as (SampleType)obj in C#or CType(obj, SampleType) in Visual Basic. For a numeric conversion, if the converted value does not fit the destination type, an exception is thrown.
Supported by Portable Class LibraryDebugInfoDebugging information.
Supported by Portable Class LibraryDecrementA unary decrement operation, such as (a - 1) in C# and Visual Basic. The object a should not be modified in place.
Supported by Portable Class LibraryDefaultA default value.
Supported by Portable Class LibraryDivideA division operation, such as (a / b), for numeric operands.
Supported by Portable Class LibraryDivideAssignAn division compound assignment operation, such as (a /= b), for numeric operands.
Supported by Portable Class LibraryDynamicA dynamic operation.
Supported by Portable Class LibraryEqualA node that represents an equality comparison, such as (a == b) in C# or (a = b) in Visual Basic.
Supported by Portable Class LibraryExclusiveOrA bitwise or logical XOR operation, such as (a ^ b) in C# or (a Xor b) in Visual Basic.
Supported by Portable Class LibraryExclusiveOrAssignA bitwise or logical XOR compound assignment operation, such as (a ^= b) in C#.
Supported by Portable Class LibraryExtensionAn extension expression.
Supported by Portable Class LibraryGotoA "go to" expression, such as goto Label in C# or GoTo Label in Visual Basic.
Supported by Portable Class LibraryGreaterThanA "greater than" comparison, such as (a > b).
Supported by Portable Class LibraryGreaterThanOrEqualA "greater than or equal to" comparison, such as (a >= b).
Supported by Portable Class LibraryIncrementA unary increment operation, such as (a + 1) in C# and Visual Basic. The object a should not be modified in place.
Supported by Portable Class LibraryIndexAn index operation or an operation that accesses a property that takes arguments.
Supported by Portable Class LibraryInvokeAn operation that invokes a delegate or lambda expression, such as sampleDelegate.Invoke().
Supported by Portable Class LibraryIsFalseA false condition value.
Supported by Portable Class LibraryIsTrueA true condition value.
Supported by Portable Class LibraryLabelA label.
Supported by Portable Class LibraryLambdaA lambda expression, such as a => a + a in C# or Function(a) a + a in Visual Basic.
Supported by Portable Class LibraryLeftShiftA bitwise left-shift operation, such as (a << b).
Supported by Portable Class LibraryLeftShiftAssignA bitwise left-shift compound assignment, such as (a <<= b).
Supported by Portable Class LibraryLessThanA "less than" comparison, such as (a < b).
Supported by Portable Class LibraryLessThanOrEqualA "less than or equal to" comparison, such as (a <= b).
Supported by Portable Class LibraryListInitAn operation that creates a new IEnumerable object and initializes it from a list of elements, such as new List<SampleType>(){ a, b, c } in C# or Dim sampleList = { a, b, c } in Visual Basic.
Supported by Portable Class LibraryLoopA loop, such as for or while.
Supported by Portable Class LibraryMemberAccessAn operation that reads from a field or property, such as obj.SampleProperty.
Supported by Portable Class LibraryMemberInitAn operation that creates a new object and initializes one or more of its members, such as new Point { X = 1, Y = 2 } in C# or New Point With {.X = 1, .Y = 2} in Visual Basic.
Supported by Portable Class LibraryModuloAn arithmetic remainder operation, such as (a % b) in C# or (a Mod b) in Visual Basic.
Supported by Portable Class LibraryModuloAssignAn arithmetic remainder compound assignment operation, such as (a %= b) in C#.
Supported by Portable Class LibraryMultiplyA multiplication operation, such as (a * b), without overflow checking, for numeric operands.
Supported by Portable Class LibraryMultiplyAssignA multiplication compound assignment operation, such as (a *= b), without overflow checking, for numeric operands.
Supported by Portable Class LibraryMultiplyAssignCheckedA multiplication compound assignment operation, such as (a *= b), that has overflow checking, for numeric operands.
Supported by Portable Class LibraryMultiplyCheckedAn multiplication operation, such as (a * b), that has overflow checking, for numeric operands.
Supported by Portable Class LibraryNegateAn arithmetic negation operation, such as (-a). The object a should not be modified in place.
Supported by Portable Class LibraryNegateCheckedAn arithmetic negation operation, such as (-a), that has overflow checking. The object a should not be modified in place.
Supported by Portable Class LibraryNewAn operation that calls a constructor to create a new object, such as new SampleType().
Supported by Portable Class LibraryNewArrayBoundsAn operation that creates a new array, in which the bounds for each dimension are specified, such as new SampleType[dim1, dim2] in C# or New SampleType(dim1, dim2) in Visual Basic.
Supported by Portable Class LibraryNewArrayInitAn operation that creates a new one-dimensional array and initializes it from a list of elements, such as new SampleType[]{a, b, c} in C# or New SampleType(){a, b, c} in Visual Basic.
Supported by Portable Class LibraryNotA bitwise complement or logical negation operation. In C#, it is equivalent to (~a) for integral types and to (!a) for Boolean values. In Visual Basic, it is equivalent to (Not a). The object a should not be modified in place.
Supported by Portable Class LibraryNotEqualAn inequality comparison, such as (a != b) in C# or (a <> b) in Visual Basic.
Supported by Portable Class LibraryOnesComplementA ones complement operation, such as (~a) in C#.
Supported by Portable Class LibraryOrA bitwise or logical OR operation, such as (a | b) in C# or (a Or b) in Visual Basic.
Supported by Portable Class LibraryOrAssignA bitwise or logical OR compound assignment, such as (a |= b) in C#.
Supported by Portable Class LibraryOrElseA short-circuiting conditional OR operation, such as (a || b) in C# or (a OrElse b) in Visual Basic.
Supported by Portable Class LibraryParameterA reference to a parameter or variable that is defined in the context of the expression. For more information, see ParameterExpression.
Supported by Portable Class LibraryPostDecrementAssignA unary postfix decrement, such as (a--). The object a should be modified in place.
Supported by Portable Class LibraryPostIncrementAssignA unary postfix increment, such as (a++). The object a should be modified in place.
Supported by Portable Class LibraryPowerA mathematical operation that raises a number to a power, such as (a ^ b) in Visual Basic.
Supported by Portable Class LibraryPowerAssignA compound assignment operation that raises a number to a power, such as (a ^= b) in Visual Basic.
Supported by Portable Class LibraryPreDecrementAssignA unary prefix decrement, such as (--a). The object a should be modified in place.
Supported by Portable Class LibraryPreIncrementAssignA unary prefix increment, such as (++a). The object a should be modified in place.
Supported by Portable Class LibraryQuoteAn expression that has a constant value of type Expression. A Quote node can contain references to parameters that are defined in the context of the expression it represents.
Supported by Portable Class LibraryRightShiftA bitwise right-shift operation, such as (a >> b).
Supported by Portable Class LibraryRightShiftAssignA bitwise right-shift compound assignment operation, such as (a >>= b).
Supported by Portable Class LibraryRuntimeVariablesA list of run-time variables. For more information, see RuntimeVariablesExpression.
Supported by Portable Class LibrarySubtractA subtraction operation, such as (a - b), without overflow checking, for numeric operands.
Supported by Portable Class LibrarySubtractAssignA subtraction compound assignment operation, such as (a -= b), without overflow checking, for numeric operands.
Supported by Portable Class LibrarySubtractAssignCheckedA subtraction compound assignment operation, such as (a -= b), that has overflow checking, for numeric operands.
Supported by Portable Class LibrarySubtractCheckedAn arithmetic subtraction operation, such as (a - b), that has overflow checking, for numeric operands.
Supported by Portable Class LibrarySwitchA switch operation, such as switch in C# or Select Case in Visual Basic.
Supported by Portable Class LibraryThrowAn operation that throws an exception, such as throw new Exception().
Supported by Portable Class LibraryTryA try-catch expression.
Supported by Portable Class LibraryTypeAsAn explicit reference or boxing conversion in which null is supplied if the conversion fails, such as (obj as SampleType) in C# or TryCast(obj, SampleType) in Visual Basic.
Supported by Portable Class LibraryTypeEqualAn exact type test.
Supported by Portable Class LibraryTypeIsA type test, such as obj is SampleType in C# or TypeOf obj is SampleType in Visual Basic.
Supported by Portable Class LibraryUnaryPlusA unary plus operation, such as (+a). The result of a predefined unary plus operation is the value of the operand, but user-defined implementations might have unusual results.
Supported by Portable Class LibraryUnboxAn unbox value type operation, such as unbox and unbox.any instructions in MSIL.

For more information about each enumeration value of this type, see section 4.4 of expr-tree-spec.doc or expr-tree-spec.pdf on the Microsoft Dynamic Language Runtime page of the Codeplex website.

.NET Framework

Supported in: 4.6, 4.5, 4, 3.5

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

.NET for Windows Phone apps

Supported in: Windows Phone 8.1, Windows Phone Silverlight 8.1, Windows Phone Silverlight 8

Portable Class Library

Supported in: Portable Class Library
Show:
© 2015 Microsoft