Verwenden von Operatoren in Ausdrücken
Die folgenden XLANG/s-Operatoren können in Orchestrierungsausdrücken verwendet werden. Diese Operatoren sind in ihrer Funktionalität eng an den entsprechenden Operatoren in C# ausgerichtet.
Operator | Beschreibung | Beispiel |
---|---|---|
checked() | Auslösen eines Fehlers bei arithmetischem Überlauf | checked(x = y * 1000) |
unchecked() | Ignorieren eines arithmetischen Überlaufs | unchecked(x = y * 1000) |
neu | Erstellen einer Instanz einer Klasse | myObject = new MyClass; |
typeof | Typabruf | myMapType = typeof(myMap) |
succeeded() | Prüfen auf erfolgreichen Abschluss eines Transaktionsbereichs oder einer Orchestrierung | succeeded(<Transaktions-ID für untergeordnete Transaktionen des aktuellen Bereichs oder Diensts>) |
exists | Prüfen auf das Vorhandensein einer Nachrichtenkontexteigenschaft | BTS.RetryCount exists Message_In |
+ | unary plus | +(int x) |
- | Unäres Minus | -(int x) |
! | Logische Negation | !myBool |
~ | Bitweises Komplement | x = ~y |
() | Umwandlung | (bool) myInt |
* | times | Weight = MyMsg.numOrders * 20 |
/ | dividiert durch | x / y |
+ | plus | x + y |
- | minus | x - y |
<< | links verschieben | x << 2 |
>> | Nach rechts verschieben | x >> 2 |
< | Kleiner als | If (MyMsg.numOrders < 10)... |
> | Größer als | If (MyMsg.numOrders > 10)... |
<= | Kleiner oder gleich | If (MyMsg.numOrders <= 10)... |
>= | Größer oder gleich | If (MyMsg.numOrders >= 10)... |
== | gleich | If (MyMsg.numOrders == 10)... |
!= | not equal to (ungleich) | If (MyMsg.numOrders != 10)... |
& | und | If (myByte & 255)... |
^ | Exklusives ODER | If (myByte ^ 1)... |
| | oder | If (myByte | 1)... |
&& | Bedingtes Und | If (MyMsg.numOrders > 10) && (MyMsg.numOrders < 100) |
|| | Bedingtes Oder | If (MyMsg.numOrders < 10) || (MyMsg.numOrders > 100) |
// | Kommentar | //Dies ist der Kommentar |
Hinweis
Die Regeln unterscheiden sich zwischen allgemeinen Ausdrücken und Filterausdrücken, die mit dem Receive-Shape verwendet werden.