4

今日、このコードのスニペットに出くわしました:

EventFeed feed = null;
feed = service.Query(eventQuery) as EventFeed;

なぜas EventFeed最後に?その関数の戻り値の型は既に であるEventFeedため、そのようなステートメントの利点を理解するのに苦労しています。

この問題を探すのが難しかったので、こちらで質問させていただきました。このような行を書くことの利点は何ですか?

4

5 に答える 5

7

feedとして宣言される可能性がありますがEventFeed、の結果はそうでservice.Query(eventQuery)はない可能性があります。

を使用asすると例外がスローされnullなくなり、式の結果を としてキャストできない場合は代わりに になりますEventFeed

ここで詳細を読むことができますas- http://msdn.microsoft.com/en-us/library/cscsdfbt(v=vs.71).aspx

于 2013-05-21T14:22:28.927 に答える
1

呼び出しから返された DataType によって異なりますQueryasこの場合、 は結果を型にキャストしようとします。EventFeedそうでない場合は を返しnullます。

于 2013-05-21T14:22:39.780 に答える
1

あなたのクエリはobject

service.Query(eventQuery)

したがって、このオブジェクトをデータ型としてキャストしています。

于 2013-05-21T14:22:48.867 に答える