식에서 연산자 사용
오케스트레이션 식에서 다음 XLANG/s 연산자를 사용할 수 있습니다. 이러한 연산자는 C#의 해당 연산자 기능과 흡사합니다.
연산자 | Description | 예제 |
---|---|---|
checked() | 산술 오버플로에 대한 오류 발생 | checked(x = y * 1000) |
unchecked() | 산술 오버플로 무시 | unchecked(x = y * 1000) |
new | 클래스의 인스턴스를 만듭니다. | myObject = new MyClass; |
typeof | 유형 검색 | myMapType = typeof(myMap) |
succeeded() | 트랜잭션 범위 또는 오케스트레이션의 성공적 완료에 대한 테스트 | succeeded(<현재 scope 또는 서비스의> 자식 트랜잭션에 대한 트랜잭션 ID) |
exists | 메시지 컨텍스트 속성이 있는지에 대한 테스트 | BTS.RetryCount exists 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 |
< | 다음보다 작음 | If (MyMsg.numOrders < 10)... |
> | 보다 큼 | If (MyMsg.numOrders > 10)... |
<= | 작거나 같음 | If (MyMsg.numOrders <= 10)... |
>= | 크거나 같음 | If (MyMsg.numOrders >= 10)... |
== | 같음 | If (MyMsg.numOrders == 10)... |
!= | 같지 않음 | If (MyMsg.numOrders != 10)... |
& | 및 | If (myByte & 255)... |
^ | 배타적 논리합 | If (myByte ^ 1)... |
| | 또는 | If (myByte | 1)... |
&& | 조건부 논리곱 | If (MyMsg.numOrders > 10) && (MyMsg.numOrders < 100) |
|| | 조건부 논리합 | If (MyMsg.numOrders < 10) || (MyMsg.numOrders > 100) |
// | 주석 처리 | //주석입니다. |
참고
규칙은 일반 식과 Receive 셰이프에 사용되는 필터 식 간에 다릅니다.