Show/Hide Toolbars

XSharp

表达式是语言的重要组成部分。表达式有很多种。编译器中的表达式规则是最大的规则。

下表按照编译器识别的顺序列出了各种表达式类型。某些表达式类型将在单独的主题中介绍。

正如您所看到的,大多数表达式类型都是递归的。它们包含一个或多个对子表达式的引用

 

表达式

 

表达式类型

语法

成员访问

表达式? (.|:) 标识符

使用标点符号访问成员(在运行时解决)

表达式? (.|:) &标识符
表达式? (.|:) &(expr)

方法调用

表达式 ( 参数列表? )

数组元素访问

表达式 [ 参数列表]

有条件的访问

表达式 ? boundexpression

类型

( datatype )

后缀

表达式 (++ | --)

等待

AWAIT 表达式

StackAlloc(堆栈分配)

STACKALLOC 表达式

前缀

(+|-|~|@|++|--|^) 表达式

类型检查

表达式 IS datatype VAR newVariable

As 类型检查

表达式 ASTYPE datatype

表达式 (^|**) 表达式

百分比

表达式 (*|/|%) 表达式

正数

表达式 (+|-) 表达式

LShift

表达式 << 表达式

RShift

表达式 >> 表达式

比较

表达式 OPERATOR 表达式,
这里 OPERATOR代表
<,<=, >, >=, =, ==, $, !=, <>, #

Bitwise And

表达式 & 表达式

Bitwise XOR

表达式 ~ 表达式

Bitwise OR

表达式 | 表达式

Not 表达式

(.NOT. | !) 表达式

逻辑和表达式

表达式 (.AND.|&&) 表达式

逻辑或表达式

表达式 (.OR. | ||) 表达式

Default 表达式

表达式 DEFAULT 表达式

赋值表达式

表达式 ASSIGN_OP 表达式
这里 ASSIGN_OP 代表
:=, +=, -=, *=, ^=, /=, %=, &=, |=, <<=, >>=, ~=, ??=

Primary 表达式

参见其他规则