ExpressionType 列舉

定義

描述運算式樹狀節點的節點類型。

C#
public enum ExpressionType
繼承
ExpressionType

欄位

名稱 Description
Add 0

數值操作數的加法運算,例如 a + b,不含溢位檢查。

AddAssign 63

數值操作數的加法複合指派運算,例如 (a += b),不含溢位檢查。

AddAssignChecked 74

數值操作數的加法複合指派運算,例如 (a += b),具有溢位檢查。

AddChecked 1

數值操作數的加法運算,例如 (a + b),具有溢位檢查。

And 2

位或邏輯 AND 運算,例如 (a & b) C# 和 (a And b) Visual Basic 中的 。

AndAlso 3

條件 AND 運算,此種運算只有在第一個運算元評估為 true 時才會評估第二個運算元。 它會對應至 (a && b) C# 和 (a AndAlso b) Visual Basic 中的 。

AndAssign 64

位或邏輯 AND 複合指派作業,例如 (a &= b) C# 中的 。

ArrayIndex 5

一維陣列中的索引作業,例如 array[index] C# 或 array(index) Visual Basic 中的索引作業。

ArrayLength 4

取得一維陣列長度的作業,例如 array.Length

Assign 46

指定工作, 例如 (a = b)

Block 47

運算式的區塊。

Call 6

方法呼叫,例如表示式中的 obj.sampleMethod()

Coalesce 7

代表 Null 聯合作業的節點,例如 (a ?? b) C# 或 If(a, b) Visual Basic 中的 。

Conditional 8

條件式作業,例如 a > b ? a : b C# 或 If(a > b, a, b) Visual Basic 中的 。

Constant 9

常數值。

Convert 10

轉換或轉換作業,例如 (SampleType)obj C# 或 CType(obj, SampleType) Visual Basic 中的 。 對於數值轉換,如果轉換的值對目的型別而言太大,則不會擲回例外狀況。

ConvertChecked 11

轉換或轉換作業,例如 (SampleType)obj C# 或 CType(obj, SampleType) Visual Basic 中的 。 對於數值轉換,如果轉換的值不符合目的型別,則會擲回例外狀況。

DebugInfo 48

偵錯資訊。

Decrement 49

一元遞減運算,例如 (a - 1) C# 和 Visual Basic。 a對象不應該就地修改。

Default 51

預設值。

Divide 12

數值操作數的除法運算,例如 (a / b)

DivideAssign 65

數值操作數的除法複合指派運算,例如 (a /= b)

Dynamic 50

動態運算。

Equal 13

代表相等比較的節點,例如 (a == b) C# 或 (a = b) Visual Basic 中的 。

ExclusiveOr 14

位或邏輯 XOR 運算,例如 (a ^ b) C# 或 (a Xor b) Visual Basic 中的 。

ExclusiveOrAssign 66

位或邏輯 XOR 複合指派作業,例如 (a ^= b) C# 中的 。

Extension 52

延伸運算式。

Goto 53

“go to” 表示式,例如 goto Label C# 或 GoTo Label Visual Basic 中的 。

GreaterThan 15

「大於」比較,例如 (a > b)

GreaterThanOrEqual 16

「大於或等於」比較,例如 (a >= b)

Increment 54

一元遞增運算,例如 (a + 1) C# 和 Visual Basic。 a對象不應該就地修改。

Index 55

索引運算或是用於存取採用引數之屬性的運算。

Invoke 17

叫用委派或 Lambda 表達式的作業,例如 sampleDelegate.Invoke()

IsFalse 84

false 條件值。

IsTrue 83

true 條件值。

Label 56

標籤。

Lambda 18

Lambda 運算式,例如 a => a + a C# 或 Function(a) a + a Visual Basic 中的 。

LeftShift 19

位左移作業,例如 (a << b)

LeftShiftAssign 67

位左移複合指派,例如 (a <<= b)

LessThan 20

「小於」比較,例如 (a < b)

LessThanOrEqual 21

「小於或等於」比較,例如 (a <= b)

ListInit 22

建立新 IEnumerable 對象的作業,並從 C# 或 Dim sampleList = { a, b, c } Visual Basic 中的項目new List<SampleType>(){ a, b, c }清單初始化它。

Loop 58

循環,例如 forwhile

MemberAccess 23

從欄位或屬性讀取的作業, 例如 obj.SampleProperty

MemberInit 24

建立新 物件的作業,並初始化其一或多個成員,例如 new Point { X = 1, Y = 2 } C# 或 New Point With {.X = 1, .Y = 2} Visual Basic 中的 。

Modulo 25

算術餘數運算,例如 (a % b) C# 或 (a Mod b) Visual Basic 中的。

ModuloAssign 68

算術餘數複合指派運算,例如 (a %= b) C# 中的 。

Multiply 26

數值操作數的乘法運算,例如 (a * b),不含溢位檢查。

MultiplyAssign 69

數值操作數的乘法複合指派運算,例如 (a *= b),不含溢位檢查。

MultiplyAssignChecked 75

數值操作數的乘法複合指派運算,例如 (a *= b)具有溢位檢查的 。

MultiplyChecked 27

數值操作數具有溢位檢查的乘法運算,例如 (a * b)

Negate 28

算術否定運算,例如 (-a)a對象不應該就地修改。

NegateChecked 30

算術否定運算,例如 (-a)具有溢位檢查的 。 a對象不應該就地修改。

New 31

呼叫建構函式以建立新物件的作業,例如 new SampleType()

NewArrayBounds 33

建立新陣列的作業,其中會指定每個維度的界限,例如 new SampleType[dim1, dim2] C# 或 New SampleType(dim1, dim2) Visual Basic 中的界限。

NewArrayInit 32

建立新一維陣列並從 C# 或 New SampleType(){a, b, c} Visual Basic 中的項目new SampleType[]{a, b, c}清單初始化它的作業。

Not 34

位元補數或邏輯負數運算。 在 C# 中,它相當於 (~a) 整數型別和 (!a) 布爾值。 在 Visual Basic 中,它相當於 (Not a)a對象不應該就地修改。

NotEqual 35

不相等比較,例如 (a != b) C# 或 (a <> b) Visual Basic 中的比較。

OnesComplement 82

補碼作業,例如 (~a) C# 中的 。

Or 36

位或邏輯 OR 運算,例如 (a | b) C# 或 (a Or b) Visual Basic 中的 。

OrAssign 70

位或邏輯 OR 複合指派,例如 (a |= b) C# 中的 。

OrElse 37

簡短的條件 OR 式作業,例如 (a || b) C# 或 (a OrElse b) Visual Basic 中的 。

Parameter 38

在運算式內容中定義之參數或變數的參考。 如需詳細資訊,請參閱ParameterExpression

PostDecrementAssign 80

一元後置遞減,例如 (a--)a對象應該就地修改。

PostIncrementAssign 79

一元後置遞增,例如 (a++)a對象應該就地修改。

Power 39

將數位提升為乘冪的數學運算,例如 (a ^ b) 在Visual Basic中。

PowerAssign 71

將數位提升為乘冪的複合指派作業,例如 (a ^= b) 在Visual Basic中。

PreDecrementAssign 78

一元前置詞遞減,例如 (--a)a對象應該就地修改。

PreIncrementAssign 77

一元前置詞遞增,例如 (++a)a對象應該就地修改。

Quote 40

Expression 型別之常數值的運算式。 Quote 節點可包含參數的參考,這些參數都定義在節點所表示的運算式內容中。

RightShift 41

位右移運算,例如 (a >> b)

RightShiftAssign 72

位右移複合指派作業,例如 (a >>= b)

RuntimeVariables 57

執行階段變數的清單。 如需詳細資訊,請參閱RuntimeVariablesExpression

Subtract 42

數值操作數的減法運算,例如 (a - b),不含溢位檢查。

SubtractAssign 73

數值操作數的減法複合指派運算,例如 (a -= b),不含溢位檢查。

SubtractAssignChecked 76

數值操作數有溢位檢查的減法複合指派運算,例如 (a -= b)

SubtractChecked 43

數值操作數的算術減法運算,例如 (a - b)具有溢位檢查的運算。

Switch 59

切換運算,例如 C# 中的 switch 或 Visual Basic 中的 Select Case

Throw 60

擲回例外狀況的作業,例如 throw new Exception()

Try 61

try-catch 運算式。

TypeAs 44

明確參考或 Boxing 轉換 null ,在轉換失敗時提供,例如 (obj as SampleType) C# 或 TryCast(obj, SampleType) Visual Basic 中的 。

TypeEqual 81

確切型別測試。

TypeIs 45

類型測試,例如 obj is SampleType C# 或 TypeOf obj is SampleType Visual Basic 中的 。

UnaryPlus 29

一元加號運算,例如 (+a)。 預先定義之一元正運算的結果是運算元的值,但使用者定義的實作可能會有不尋常的結果。

Unbox 62

Unbox 值型別運算,例如 MSIL 中的 unboxunbox.any 指令。

備註

如需此類型之每個列舉值的詳細資訊,請參閱 動態語言執行平臺概觀

適用於

產品 版本
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0