ExpressionType Enumeration
.NET Framework 4.5
Describes the node types for the nodes of an expression tree.
Assembly: System.Core (in System.Core.dll)
| Member name | Description | |
|---|---|---|
![]() ![]() | Add | An addition operation, such as a + b, without overflow checking, for numeric operands. |
![]() ![]() | AddAssign | An addition compound assignment operation, such as (a += b), without overflow checking, for numeric operands. |
![]() ![]() | AddAssignChecked | An addition compound assignment operation, such as (a += b), with overflow checking, for numeric operands. |
![]() ![]() | AddChecked | An addition operation, such as (a + b), with overflow checking, for numeric operands. |
![]() ![]() | And | A bitwise or logical AND operation, such as (a & b) in C# and (a And b) in Visual Basic. |
![]() ![]() | AndAlso | A 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. |
![]() ![]() | AndAssign | A bitwise or logical AND compound assignment operation, such as (a &= b) in C#. |
![]() ![]() | ArrayIndex | An indexing operation in a one-dimensional array, such as array[index] in C# or array(index) in Visual Basic. |
![]() ![]() | ArrayLength | An operation that obtains the length of a one-dimensional array, such as array.Length. |
![]() ![]() | Assign | An assignment operation, such as (a = b). |
![]() ![]() | Block | A block of expressions. |
![]() ![]() | Call | A method call, such as in the obj.sampleMethod() expression. |
![]() ![]() | Coalesce | A node that represents a null coalescing operation, such as (a ?? b) in C# or If(a, b) in Visual Basic. |
![]() ![]() | Conditional | A conditional operation, such as a > b ? a : b in C# or If(a > b, a, b) in Visual Basic. |
![]() ![]() | Constant | A constant value. |
![]() ![]() | Convert | A 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. |
![]() ![]() | ConvertChecked | A 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. |
![]() ![]() | DebugInfo | Debugging information. |
![]() ![]() | Decrement | A unary decrement operation, such as (a - 1) in C# and Visual Basic. The object a should not be modified in place. |
![]() ![]() | Default | A default value. |
![]() ![]() | Divide | A division operation, such as (a / b), for numeric operands. |
![]() ![]() | DivideAssign | An division compound assignment operation, such as (a /= b), for numeric operands. |
![]() ![]() | Dynamic | A dynamic operation. |
![]() ![]() | Equal | A node that represents an equality comparison, such as (a == b) in C# or (a = b) in Visual Basic. |
![]() ![]() | ExclusiveOr | A bitwise or logical XOR operation, such as (a ^ b) in C# or (a Xor b) in Visual Basic. |
![]() ![]() | ExclusiveOrAssign | A bitwise or logical XOR compound assignment operation, such as (a ^= b) in C#. |
![]() ![]() | Extension | An extension expression. |
![]() ![]() | Goto | A "go to" expression, such as goto Label in C# or GoTo Label in Visual Basic. |
![]() ![]() | GreaterThan | A "greater than" comparison, such as (a > b). |
![]() ![]() | GreaterThanOrEqual | A "greater than or equal to" comparison, such as (a >= b). |
![]() ![]() | Increment | A unary increment operation, such as (a + 1) in C# and Visual Basic. The object a should not be modified in place. |
![]() ![]() | Index | An index operation or an operation that accesses a property that takes arguments. |
![]() ![]() | Invoke | An operation that invokes a delegate or lambda expression, such as sampleDelegate.Invoke(). |
![]() ![]() | IsFalse | A false condition value. |
![]() ![]() | IsTrue | A true condition value. |
![]() ![]() | Label | A label. |
![]() ![]() | Lambda | A lambda expression, such as a => a + a in C# or Function(a) a + a in Visual Basic. |
![]() ![]() | LeftShift | A bitwise left-shift operation, such as (a << b). |
![]() ![]() | LeftShiftAssign | A bitwise left-shift compound assignment, such as (a <<= b). |
![]() ![]() | LessThan | A "less than" comparison, such as (a < b). |
![]() ![]() | LessThanOrEqual | A "less than or equal to" comparison, such as (a <= b). |
![]() ![]() | ListInit | An 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. |
![]() ![]() | Loop | A loop, such as for or while. |
![]() ![]() | MemberAccess | An operation that reads from a field or property, such as obj.SampleProperty. |
![]() ![]() | MemberInit | An 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. |
![]() ![]() | Modulo | An arithmetic remainder operation, such as (a % b) in C# or (a Mod b) in Visual Basic. |
![]() ![]() | ModuloAssign | An arithmetic remainder compound assignment operation, such as (a %= b) in C#. |
![]() ![]() | Multiply | A multiplication operation, such as (a * b), without overflow checking, for numeric operands. |
![]() ![]() | MultiplyAssign | A multiplication compound assignment operation, such as (a *= b), without overflow checking, for numeric operands. |
![]() ![]() | MultiplyAssignChecked | A multiplication compound assignment operation, such as (a *= b), that has overflow checking, for numeric operands. |
![]() ![]() | MultiplyChecked | An multiplication operation, such as (a * b), that has overflow checking, for numeric operands. |
![]() ![]() | Negate | An arithmetic negation operation, such as (-a). The object a should not be modified in place. |
![]() ![]() | NegateChecked | An arithmetic negation operation, such as (-a), that has overflow checking. The object a should not be modified in place. |
![]() ![]() | New | An operation that calls a constructor to create a new object, such as new SampleType(). |
![]() ![]() | NewArrayBounds | An 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. |
![]() ![]() | NewArrayInit | An 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. |
![]() ![]() | Not | A 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. |
![]() ![]() | NotEqual | An inequality comparison, such as (a != b) in C# or (a <> b) in Visual Basic. |
![]() ![]() | OnesComplement | A ones complement operation, such as (~a) in C#. |
![]() ![]() | Or | A bitwise or logical OR operation, such as (a | b) in C# or (a Or b) in Visual Basic. |
![]() ![]() | OrAssign | A bitwise or logical OR compound assignment, such as (a |= b) in C#. |
![]() ![]() | OrElse | A short-circuiting conditional OR operation, such as (a || b) in C# or (a OrElse b) in Visual Basic. |
![]() ![]() | Parameter | A reference to a parameter or variable that is defined in the context of the expression. For more information, see ParameterExpression. |
![]() ![]() | PostDecrementAssign | A unary postfix decrement, such as (a--). The object a should be modified in place. |
![]() ![]() | PostIncrementAssign | A unary postfix increment, such as (a++). The object a should be modified in place. |
![]() ![]() | Power | A mathematical operation that raises a number to a power, such as (a ^ b) in Visual Basic. |
![]() ![]() | PowerAssign | A compound assignment operation that raises a number to a power, such as (a ^= b) in Visual Basic. |
![]() ![]() | PreDecrementAssign | A unary prefix decrement, such as (--a). The object a should be modified in place. |
![]() ![]() | PreIncrementAssign | A unary prefix increment, such as (++a). The object a should be modified in place. |
![]() ![]() | Quote | An 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. |
![]() ![]() | RightShift | A bitwise right-shift operation, such as (a >> b). |
![]() ![]() | RightShiftAssign | A bitwise right-shift compound assignment operation, such as (a >>= b). |
![]() ![]() | RuntimeVariables | A list of run-time variables. For more information, see RuntimeVariablesExpression. |
![]() ![]() | Subtract | A subtraction operation, such as (a - b), without overflow checking, for numeric operands. |
![]() ![]() | SubtractAssign | A subtraction compound assignment operation, such as (a -= b), without overflow checking, for numeric operands. |
![]() ![]() | SubtractAssignChecked | A subtraction compound assignment operation, such as (a -= b), that has overflow checking, for numeric operands. |
![]() ![]() | SubtractChecked | An arithmetic subtraction operation, such as (a - b), that has overflow checking, for numeric operands. |
![]() ![]() | Switch | A switch operation, such as switch in C# or Select Case in Visual Basic. |
![]() ![]() | Throw | An operation that throws an exception, such as throw new Exception(). |
![]() ![]() | Try | A try-catch expression. |
![]() ![]() | TypeAs | An 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. |
![]() ![]() | TypeEqual | An exact type test. |
![]() ![]() | TypeIs | A type test, such as obj is SampleType in C# or TypeOf obj is SampleType in Visual Basic. |
![]() ![]() | UnaryPlus | A 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. |
![]() ![]() | Unbox | An 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.
Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

