以下 XLANG/s 运算符可用于编排表达式。 它们紧密遵循 C# 中这些运算符的功能。
| 操作员 | DESCRIPTION | 示例: |
|---|---|---|
| checked( ) | 算术溢出时引发错误 | checked(x = y * 1000) |
| 未选中() | 忽略算术溢出 | unchecked(x = y * 1000) |
| 新 | 创建类的实例 | myObject = new MyClass; |
| 类型 | 类型检索 | myMapType = typeof(myMap) |
| 成功 | 测试是否成功完成事务性范围或业务流程编排 | succeeded(<当前范围或服务中子事务的事务 ID>) |
| 存在 | 测试消息上下文属性是否存在 | BTS.RetryCount 存在 Message_In |
| + | 一元加号 | +(int x) |
| - | 一元减号 | -(int x) |
| ! | 逻辑否定 | myBool! |
| ~ | 按位取反 | x = ~y |
| () | 强制转换 | (bool) myInt |
| * | 次 | 权重 = MyMsg.numOrders * 20 |
| / | 除以 | x / y |
| + | 加 | x + y |
| - | 减去 | 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)... |
| ^ | 独占或 | 如果 (myByte ^ 1)... |
| | | 或 | 如果(myByte | 1)... |
| && | 条件和 | 如果 (MyMsg.numOrders > 10) && (MyMsg.numOrders < 100) |
| || | 条件或 | If (MyMsg.numOrders < 10) ||(MyMsg.numOrders > 100) |
| // | 评论 | 这是评论 |
注释
规则在常规表达式和筛选表达式之间有所不同,这些表达式与 Receive 形状一起使用。