XLANG-s 变量和运算符
本部分讨论 XLANG/s 语言中使用的变量和运算符。
XLANG/s 变量
变量表示存储位置。 每个变量都有一个类型,用于确定哪些值可以存储在该变量中。 XLANG/s 的类型安全,其编译器保证存储在变量中的值始终为适当的类型。 XLANG/s 支持以下变量类型:
消息
关联集
服务链接
端口
可区分的内置值类型: Boolean、 Byte、 Char、 Decimal、 Double、 Int16、 Int32、 Int64、 SByte、 Single、 String、 UInt16、 UInt32 和 UInt64
对象
枚举类型
XLANG/s 为上述每种类型提供初始化语义。 此类初始化可视为对该类型变量的赋值。 在 XLANG/s 中,必须先明确分配变量,然后才能获取或使用变量的值。
XLANG/s 运算符
XLANG/s 支持以下运算符。 这些运算符与 C# 中相应运算符的功能基本一致。
运算符 | 说明 | 示例 |
---|---|---|
checked | 在算术溢出时引发错误 | checked (x = y * 1000) |
unchecked | 忽略算术溢出 | 未选中 (x = y * 1000) |
new | 创建类的实例 | myObject = new MyClass; |
typeof | 检索类型 | myMapType = typeof (myMap) |
succeeded | 成功完成事务范围或业务流程的测试 | 成功 (<当前范围或服务>) 的子事务的事务 ID |
exists | 测试是否存在消息上下文属性 | Bts。RetryCount 存在Message_In |
+ | 一元加 | + (int x) |
- | 一元负 | - (int x) |
! | 逻辑非 | !myBool |
~ | 按位补码 | x = ~y |
() | 强制转换 | (bool) myInt |
* | 时间 | Weight = MyMsg.numOrders * 20 |
/ | 除以 | x / y |
+ | Plus | x + y |
- | Minus | x - y |
<< | 左移 | x << 2 |
>> | 右移 | x >> 2 |
< | 小于 | 如果 (MyMsg.numOrders < 10) ... |
> | 大于 | 如果 (MyMsg.numOrders > 10) ... |
<= | 小于或等于 | 如果 (MyMsg.numOrders <= 10) ... |
>= | 大于或等于 | 如果 (MyMsg.numOrders >= 10) ... |
== | 等于 | 如果 (MyMsg.numOrders == 10) ... |
!= | 不等于 | 如果 (MyMsg.numOrders != 10) ... |
另请参阅
XLANG-s 数据类型
XLANG-s 语句
XLANG-s 表达式
XLANG-s 保留字
XLANG-s 到 BPEL4WS 的类型转换