Uso de operadores en expresiones
Los siguientes operadores XLAN/s están disponibles para su uso en expresiones de orquestaciones. Cumplen estrictamente con las funciones de los operadores correspondientes en C#.
Operador | Descripción | Ejemplo |
---|---|---|
checked() | genera error al producirse un desbordamiento aritmético | checked(x = y * 1000) |
unchecked() | omite el desbordamiento aritmético. | unchecked(x = y * 1000) |
new | crea una instancia de una clase | myObject = new MyClass; |
typeof | recuperación de tipo | myMapType = typeof(myMap) |
succeeded() | prueba para la finalización correcta de ámbito transaccional u orquestación | succeeded(<id. de transacción para la transacción secundaria del ámbito o servicio> actual) |
exists | prueba para la existencia de una propiedad de contexto de mensaje | BTS.RetryCount exists Message_In |
+ | más unario | +(int x) |
- | menos unario | -(int x) |
! | negación lógica | !myBool |
~ | complemento bit a bit | x = ~y |
() | Conversión | (bool) myInt |
* | times | Weight = MyMsg.numOrders * 20 |
/ | dividido por | x / y |
+ | plus | x + y |
- | minus | x - y |
<< | desplazar a la izquierda | x << 2 |
>> | desplazar a la derecha | x >> 2 |
< | menor que | Si (MyMsg.numOrders < 10)... |
> | mayor que | Si (MyMsg.numOrders > 10)... |
<= | Menor o igual que | Si (MyMsg.numOrders <= 10)... |
>= | Mayor o igual que | Si (MyMsg.numOrders >= 10)... |
== | igual a | If (MyMsg.numOrders == 10)... |
!= | not equal to | If (MyMsg.numOrders != 10)... |
& | y | Si (myByte & 255)... |
^ | exclusivo o | If (myByte ^ 1)... |
| | o | If (myByte | 1)... |
&& | condicional y | If (MyMsg.numOrders > 10) && (MyMsg.numOrders < 100) |
|| | condicional o | If (MyMsg.numOrders < 10) || (MyMsg.numOrders > 100) |
// | comentario | //Éste es el comentario |
Nota
Las reglas difieren entre las expresiones generales y las expresiones de filtro que se usan con la forma Receive .