ExpressionType Enumeração

Definição

Descreve os tipos de nós para os nós de uma árvore de expressões.

public enum class ExpressionType
public enum ExpressionType
type ExpressionType = 
Public Enum ExpressionType
Herança
ExpressionType

Campos

Name Valor Description
Add 0

Uma operação de adição, como a + b, sem verificação de overflow, para operandos numéricos.

AddChecked 1

Uma operação de adição, como (a + b), com verificação de overflow, para operandos numéricos.

And 2

Uma operação bit a bit ou lógica AND, como (a & b) em C# e (a And b) em Visual Basic.

AndAlso 3

Uma operação condicional AND que avalia o segundo operando apenas se o primeiro operando avaliar para true. Corresponde a (a && b) em C# e (a AndAlso b) em Visual Basic.

ArrayLength 4

Uma operação que obtém o comprimento de um array unidimensional, como array.Length.

ArrayIndex 5

Uma operação de indexação num array unidimensional, como array[index] em C# ou array(index) em Visual Basic.

Call 6

Uma chamada de método, como na obj.sampleMethod() expressão.

Coalesce 7

Um nó que representa uma operação de coalescência nula, como (a ?? b) em C# ou If(a, b) em Visual Basic.

Conditional 8

Uma operação condicional, como a > b ? a : b em C# ou If(a > b, a, b) em Visual Basic.

Constant 9

Um valor constante.

Convert 10

Uma operação de fundição ou conversão, como (SampleType)obj em C# ou CType(obj, SampleType) em Visual Basic. Para uma conversão numérica, se o valor convertido for demasiado grande para o tipo de destino, não é feita nenhuma exceção.

ConvertChecked 11

Uma operação de fundição ou conversão, como (SampleType)obj em C# ou CType(obj, SampleType) em Visual Basic. Para uma conversão numérica, se o valor convertido não corresponder ao tipo de destino, é lançada uma exceção.

Divide 12

Uma operação de divisão, como (a / b), para operandos numéricos.

Equal 13

Um nó que representa uma comparação de igualdade, como (a == b) em C# ou (a = b) em Visual Basic.

ExclusiveOr 14

Uma operação bit a bit ou lógica XOR, como (a ^ b) em C# ou (a Xor b) em Visual Basic.

GreaterThan 15

Uma comparação "maior que", como (a > b).

GreaterThanOrEqual 16

Uma comparação "maior que ou igual a", como (a >= b).

Invoke 17

Uma operação que invoca uma expressão delegada ou lambda, como sampleDelegate.Invoke().

Lambda 18

Uma expressão lambda, como a => a + a em C# ou Function(a) a + a em Visual Basic.

LeftShift 19

Uma operação bit a bit de deslocamento à esquerda, como (a << b).

LessThan 20

Uma comparação "menos que", como (a < b).

LessThanOrEqual 21

Uma comparação "menor ou igual a", como (a <= b).

ListInit 22

Uma operação que cria um novo objeto IEnumerable e o inicializa a partir de uma lista de elementos, como new List<SampleType>(){ a, b, c } em C# ou Dim sampleList = { a, b, c } em Visual Basic.

MemberAccess 23

Uma operação que lê a partir de um corpo ou propriedade, como obj.SampleProperty.

MemberInit 24

Uma operação que cria um novo objeto e inicializa um ou mais dos seus membros, como new Point { X = 1, Y = 2 } em C# ou New Point With {.X = 1, .Y = 2} em Visual Basic.

Modulo 25

Uma operação aritmética de resto, como (a % b) em C# ou (a Mod b) em Visual Basic.

Multiply 26

Uma operação de multiplicação, como (a * b), sem verificação de overflow, para operandos numéricos.

MultiplyChecked 27

Uma operação de multiplicação, como (a * b), que tem verificação de overflow, para operandos numéricos.

Negate 28

Uma operação de negação aritmética, como (-a). O objeto a não deve ser modificado no local.

UnaryPlus 29

Uma operação unária plus, como (+a). O resultado de uma operação unária plus pré-definida é o valor do operando, mas implementações definidas pelo utilizador podem ter resultados invulgares.

NegateChecked 30

Uma operação de negação aritmética, como (-a), que tem verificação de overflow. O objeto a não deve ser modificado no local.

New 31

Uma operação que chama um construtor para criar um novo objeto, como new SampleType().

NewArrayInit 32

Uma operação que cria um novo array unidimensional e o inicializa a partir de uma lista de elementos, como new SampleType[]{a, b, c} em C# ou New SampleType(){a, b, c} em Visual Basic.

NewArrayBounds 33

Uma operação que cria um novo array, no qual os limites para cada dimensão são especificados, como new SampleType[dim1, dim2] em C# ou New SampleType(dim1, dim2) em Visual Basic.

Not 34

Um complemento bit a bit ou uma operação de negação lógica. Em C#, é equivalente a (~a) para tipos inteiros e a (!a) para valores booleanos. Em Visual Basic, é equivalente a (Not a). O objeto a não deve ser modificado no local.

NotEqual 35

Uma comparação de desigualdade, como (a != b) em C# ou (a <> b) em Visual Basic.

Or 36

Uma operação bit a bit ou lógica OR, como (a | b) em C# ou (a Or b) em Visual Basic.

OrElse 37

Uma operação condicional de curto-circuito OR, como (a || b) em C# ou (a OrElse b) em Visual Basic.

Parameter 38

Uma referência a um parâmetro ou variável definida no contexto da expressão. Para obter mais informações, veja ParameterExpression.

Power 39

Uma operação matemática que eleva um número para uma potência, como (a ^ b) em Visual Basic.

Quote 40

Uma expressão que tem um valor constante do tipo Expression. Um nó pode conter referências a parâmetros definidos no contexto da expressão que Quote representa.

RightShift 41

Uma operação bit a bit com deslocamento à direita, como (a >> b).

Subtract 42

Uma operação de subtração, como (a - b), sem verificação de overflow, para operandos numéricos.

SubtractChecked 43

Uma operação de subtração aritmética, como (a - b), que tem verificação de overflow, para operandos numéricos.

TypeAs 44

Uma referência explícita ou conversão boxing em que null é fornecida se a conversão falhar, como (obj as SampleType) em C# ou TryCast(obj, SampleType) em Visual Basic.

TypeIs 45

Um teste de tipo, como obj is SampleType em C# ou TypeOf obj is SampleType em Visual Basic.

Assign 46

Uma operação de atribuição, como (a = b).

Block 47

Um bloco de expressões.

DebugInfo 48

Informação de depuração.

Decrement 49

Uma operação de decremento unária, como (a - 1) em C# e Visual Basic. O objeto a não deve ser modificado no local.

Dynamic 50

Uma operação dinâmica.

Default 51

Um valor padrão.

Extension 52

Uma expressão de extensão.

Goto 53

Uma expressão "de referência", como goto Label em C# ou GoTo Label em Visual Basic.

Increment 54

Uma operação de incremento unário, como (a + 1) em C# e Visual Basic. O objeto a não deve ser modificado no local.

Index 55

Uma operação de índice ou uma operação que acede a uma propriedade que aceita argumentos.

Label 56

Um rótulo.

RuntimeVariables 57

Uma lista de variáveis em tempo de execução. Para obter mais informações, veja RuntimeVariablesExpression.

Loop 58

Um ciclo, como for ou while.

Switch 59

Uma operação de comutação, como switch em C# ou Select Case em Visual Basic.

Throw 60

Uma operação que lança uma exceção, como throw new Exception().

Try 61

Uma expressão try-catch.

Unbox 62

Uma operação do tipo unbox value, como unbox instruções e unbox.any no MSIL.

AddAssign 63

Uma operação de atribuição composta de adição, como (a += b), sem verificação de overflow, para operandos numéricos.

AndAssign 64

Uma operação de atribuição composta bit a bit ou lógica AND , como (a &= b) em C#.

DivideAssign 65

Uma operação de atribuição composta por divisão, como (a /= b), para operandos numéricos.

ExclusiveOrAssign 66

Uma operação de atribuição composta bit a bit ou lógica XOR , como (a ^= b) em C#.

LeftShiftAssign 67

Uma atribuição composta bit a bit com deslocamento à esquerda, como (a <<= b).

ModuloAssign 68

Uma operação aritmética de atribuição composta de restos, como (a %= b) em C#.

MultiplyAssign 69

Uma operação de atribuição composta de multiplicação, como (a *= b), sem verificação de overflow, para operandos numéricos.

OrAssign 70

Uma atribuição composta bit a bit ou lógica OR , como (a |= b) em C#.

PowerAssign 71

Uma operação de atribuição composta que eleva um número para uma potência, como (a ^= b) em Visual Basic.

RightShiftAssign 72

Uma operação de atribuição composta bit a bit com deslocamento à direita, como (a >>= b).

SubtractAssign 73

Uma operação de atribuição composta de subtração, como (a -= b), sem verificação de overflow, para operandos numéricos.

AddAssignChecked 74

Uma operação de atribuição composta de adição, como (a += b), com verificação de overflow, para operandos numéricos.

MultiplyAssignChecked 75

Uma operação de atribuição composta de multiplicação, como (a *= b), que tem verificação de overflow, para operandos numéricos.

SubtractAssignChecked 76

Uma operação de atribuição composta de subtração, como (a -= b), que tem verificação de overflow, para operandos numéricos.

PreIncrementAssign 77

Um incremento de prefixo unário, como (++a). O objeto a deve ser modificado no local.

PreDecrementAssign 78

Um decremento prefixo unário, como (--a). O objeto a deve ser modificado no local.

PostIncrementAssign 79

Um incremento postfixo unário, como (a++). O objeto a deve ser modificado no local.

PostDecrementAssign 80

Um decremento postfixo unário, como (a--). O objeto a deve ser modificado no local.

TypeEqual 81

Um teste do tipo exato.

OnesComplement 82

Uma operação de complemento de uns, como (~a) em C#.

IsTrue 83

Um valor de true condição.

IsFalse 84

Um valor de false condição.

Observações

Para mais informações sobre cada valor de enumeração deste tipo, veja Visão Geral do Tempo de Execução da Linguagem Dinâmica.

Aplica-se a