Utilisation d'opérateurs dans les expressions
Les opérateurs XLANG/s suivants peuvent être utilisés dans les expressions des orchestrations. Ils sont strictement conformes à la fonction des opérateurs correspondants en C#.
Opérateur | Description | Exemple |
---|---|---|
checked() | signale une erreur de dépassement arithmétique positif | checked(x = y * 1000) |
unchecked() | ignore l'erreur de dépassement arithmétique positif | unchecked(x = y * 1000) |
new | créer une instance d'une classe | myObject = new MyClass; |
typeof | récupération de type | myMapType = typeof(myMap) |
succeeded() | test de réussite d'étendue transactionnelle ou d'orchestration | succeeded(<ID de transaction pour la transaction enfant de l’étendue ou du service> actuel) |
exists | vérifie l'existence d'une propriété de contexte de message | BTS.RetryCount exists Message_In |
+ | plus unaire | +(int x) |
- | unaire moins | -(int x) |
! | négation logique | !myBool |
~ | complément de bits | x = ~y |
() | Caster | (bool) myInt |
* | times | Poids = MyMsg.numOrders * 20 |
/ | divisé par | x / y |
+ | plus | x + y |
- | minus | x - y |
<< | décalage vers la gauche | x << 2 |
>> | décalage vers la droite | x >> 2 |
< | inférieur à | If (MyMsg.numOrders < 10)... |
> | supérieur à | If (MyMsg.numOrders > 10)... |
<= | inférieur ou égal à | If (MyMsg.numOrders <= 10)... |
>= | supérieur ou égal à | If (MyMsg.numOrders >= 10)... |
== | égal à | If (MyMsg.numOrders == 10)... |
!= | différent de | If (MyMsg.numOrders != 10)... |
& | et | If (myByte & 255)... |
^ | or exclusif | If (myByte ^ 1)... |
| | ou | If (myByte | 1)... |
&& | and conditionnel | If (MyMsg.numOrders > 10) && (MyMsg.numOrders < 100) |
|| | or conditionnel | If (MyMsg.numOrders < 10) || (MyMsg.numOrders > 100) |
// | commentaire | //Ceci est le commentaire |
Notes
Les règles diffèrent entre les expressions générales et les expressions de filtre utilisées avec la forme Receive .