在表达式中使用运算符
以下 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 |
* | times | 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) ... |
& | 和 | 如果 (myByte & 255) ... |
^ | 异或 | If (myByte ^ 1)... |
| | 或 | If (myByte | 1)... |
&& | 条件与 | 如果 (MyMsg.numOrders > 10) && (MyMsg.numOrders < 100) |
|| | 条件或 | 如果 (MyMsg.numOrders < 10) || (MyMsg.numOrders > 100) |
// | 评论 | //This is the comment |
注意
与 Receive 形状一起使用的常规表达式和筛选表达式之间的规则不同。