9

MSDN ライブラリには、キーワードが演算子としてリストさawaitれています。それは私には奇妙に思えます-キーワードasyncような修飾子だと思っていたでしょう。

なぜこれがオペレーターなのですか?

4

3 に答える 3

5

修飾子は宣言に適用されます。private、static、out、ref、params、overrideキーワードはその例です。そして非同期。

演算子は式に適用され、式の結果を変換します。awaitの右側に書くのは「await式」と呼ばれます。したがって、それはユニタリ作用素です。

于 2012-07-31T07:10:05.930 に答える
5

async宣言の修飾子です。に似ていpublicます。

await非同期演算子を使用して何かを行う操作です。に似ていreturnます。

awaitその後に配置されるものを変更するのではなく、その操作の処理方法を指定します。対照的asyncに、 は実際には何も変更せず、特定のメソッドが のスタイルであることを示すだけです(構文の観点からメソッド構造へのすべての変更を実行するのasyncは最終的な です)。await

于 2012-07-31T01:29:58.670 に答える
0

わかりました、私はそれがオペレーターであることに私たち全員が同意すると信じています。演算子として定義するための重要な概念は、結果のデータ型を変更することであると言ってきましたが、それだけではありません。

演算子の定義を見てみましょう。

C#は、式で実行する操作を指定する記号である演算子の大規模なセットを提供します

ソース:MSDN

したがって、Guvanteが指摘したように、(ほとんどの場合、それと同じように)で示される式があります。type identifier = await asyncMethod()そしてawait、確かに、この式に対して操作を実行します。待機やTaskResult期待されるタイプへの変換などを処理します。

私が言ったように、私は他の2つの答え(GuvanteとHans Passant)に同意しますが、この小さな概念も役立つと思いました。

よろしく

于 2012-07-31T09:14:40.997 に答える