Export (0) Print
Expand All

ExpressionType Enumeration

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

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

type ExpressionType

Member nameDescription
Supported by Portable Class LibraryAddAn addition operation, such as a + b, without 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 LibraryArrayLengthAn operation that obtains the length of a one-dimensional array, such as array.Length.
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 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 LibraryDivideA division operation, such as (a / b), for numeric operands.
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 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 LibraryInvokeAn operation that invokes a delegate or lambda expression, such as sampleDelegate.Invoke().
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 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 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 LibraryMultiplyA multiplication operation, such as (a * b), without 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 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 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 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 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 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 LibraryOrA bitwise or logical OR operation, such as (a | b) in C# or (a Or b) in Visual Basic.
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 LibraryPowerA mathematical operation that raises a number to a power, such as (a ^ b) in Visual Basic.
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 LibrarySubtractA subtraction operation, such as (a - b), without 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 LibraryTypeAsAn explicit reference or boxing conversion in which a null reference (Nothing in Visual Basic) is supplied if the conversion fails, such as (obj as SampleType) in C# or TryCast(obj, SampleType) in Visual Basic.
Supported by Portable Class LibraryTypeIsA type test, such as obj is SampleType in C# or TypeOf obj is SampleType in Visual Basic.
AssignAn assignment operation, such as (a = b).
BlockA block of expressions.
DebugInfoDebugging information.
DecrementA unary decrement operation, such as (a - 1) in C# and Visual Basic. The object a should not be modified in place.
DynamicA dynamic operation.
DefaultA default value.
ExtensionAn extension expression.
GotoA "go to" expression, such as goto Label in C# or GoTo Label in Visual Basic.
IncrementA unary increment operation, such as (a + 1) in C# and Visual Basic. The object a should not be modified in place.
IndexAn index operation or an operation that accesses a property that takes arguments.
LabelA label.
RuntimeVariablesA list of run-time variables. For more information, see RuntimeVariablesExpression.
LoopA loop, such as for or while.
SwitchA switch operation, such as switch in C# or Select Case in Visual Basic.
ThrowAn operation that throws an exception, such as throw new Exception().
TryA try-catch expression.
UnboxAn unbox value type operation, such as unbox and unbox.any instructions in MSIL.
AddAssignAn addition compound assignment operation, such as (a += b), without overflow checking, for numeric operands.
AndAssignA bitwise or logical AND compound assignment operation, such as (a &= b) in C#.
DivideAssignAn division compound assignment operation, such as (a /= b), for numeric operands.
ExclusiveOrAssignA bitwise or logical XOR compound assignment operation, such as (a ^= b) in C#.
LeftShiftAssignA bitwise left-shift compound assignment, such as (a <<= b).
ModuloAssignAn arithmetic remainder compound assignment operation, such as (a %= b) in C#.
MultiplyAssignA multiplication compound assignment operation, such as (a *= b), without overflow checking, for numeric operands.
OrAssignA bitwise or logical OR compound assignment, such as (a |= b) in C#.
PowerAssignA compound assignment operation that raises a number to a power, such as (a ^= b) in Visual Basic.
RightShiftAssignA bitwise right-shift compound assignment operation, such as (a >>= b).
SubtractAssignA subtraction compound assignment operation, such as (a -= b), without overflow checking, for numeric operands.
AddAssignCheckedAn addition compound assignment operation, such as (a += b), with overflow checking, for numeric operands.
MultiplyAssignCheckedA multiplication compound assignment operation, such as (a *= b), that has overflow checking, for numeric operands.
SubtractAssignCheckedA subtraction compound assignment operation, such as (a -= b), that has overflow checking, for numeric operands.
PreIncrementAssignA unary prefix increment, such as (++a). The object a should be modified in place.
PreDecrementAssignA unary prefix decrement, such as (--a). The object a should be modified in place.
PostIncrementAssignA unary postfix increment, such as (a++). The object a should be modified in place.
PostDecrementAssignA unary postfix decrement, such as (a--). The object a should be modified in place.
TypeEqualAn exact type test.
OnesComplementA ones complement operation, such as (~a) in C#.
IsTrueA true condition value.
IsFalseA false condition value.

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, 3.5

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Portable Class Library

Supported in: Portable Class Library

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.

Community Additions

ADD
Show:
© 2014 Microsoft