次の方法で共有


XLANG-s の変数および演算子

このセクションでは、XLANG/s 言語で使用される変数および演算子について説明します。

XLANG/s の変数

変数は格納場所を表します。 各変数には型があり、この型によってその変数に格納できる値が決まります。 XLANG/s はタイプ セーフであり、コンパイラによって変数に格納された値が常に適切な型であることが保証されます。 XLANG/s は、次の変数の型をサポートしています。

  • メッセージ

  • 関連付けセット

  • サービス リンク

  • Port

  • 識別された組み込み値の型: BooleanByteCharDecimalDoubleInt16Int32Int64SByteSingleStringUInt16UInt32UInt64

  • オブジェクト

  • 列挙型

    XLANG/s には、上記の各型について初期化のセマンティクスが用意されています。 これらの初期化は、その型の変数への代入と見なすことができます。 XLANG/s では、変数に明示的に代入しないと、その値を取得または使用することはできません。

XLANG/s の演算子

XLANG/s は、次の演算子をサポートしています。 C# の対応する演算子の機能にほぼ準拠しています。

演算子 説明
checked 算術オーバーフロー時にエラーを発生させます checked(x = y * 1000)
unchecked 算術オーバーフローを無視 unchecked(x = y * 1000)
new クラスのインスタンスを作成 myObject = new MyClass;
typeof 型を取得 myMapType = typeof(myMap)
succeeded トランザクション スコープまたはオーケストレーションが正常に完了するかどうかをテスト succeeded(<現在のスコープまたはサービス>の子トランザクションのトランザクション ID)
exists メッセージ コンテキスト プロパティの存在をテストします BTS.RetryCount exists Message_In
+ 単項プラス +(int x)
- 単項マイナス -(int x)
! 論理否定 !myBool
~ ビットごとの補数 x = ~y
() Cast (bool) myInt
* 時刻 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)...

参照

XLANG-s データ型
XLANG-s ステートメント
XLANG-s 式
XLANG-s の予約語
XLANG-s から BPEL4WS への種類の変換