XLANG-s 变量和运算符

本部分讨论 XLANG/s 语言中使用的变量和运算符。

XLANG/s 变量

变量表示存储位置。 每个变量都有一个类型,用于确定哪些值可以存储在该变量中。 XLANG/s 的类型安全,其编译器保证存储在变量中的值始终为适当的类型。 XLANG/s 支持以下变量类型:

  • 消息

  • 关联集

  • 服务链接

  • 端口

  • 可区分的内置值类型: BooleanByteCharDecimalDoubleInt16Int32Int64SByteSingleStringUInt16UInt32UInt64

  • 对象

  • 枚举类型

    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 的类型转换