今日、このコードのスニペットに出くわしました:
EventFeed feed = null;
feed = service.Query(eventQuery) as EventFeed;
なぜas EventFeed最後に?その関数の戻り値の型は既に であるEventFeedため、そのようなステートメントの利点を理解するのに苦労しています。
この問題を探すのが難しかったので、こちらで質問させていただきました。このような行を書くことの利点は何ですか?
今日、このコードのスニペットに出くわしました:
EventFeed feed = null;
feed = service.Query(eventQuery) as EventFeed;
なぜas EventFeed最後に?その関数の戻り値の型は既に であるEventFeedため、そのようなステートメントの利点を理解するのに苦労しています。
この問題を探すのが難しかったので、こちらで質問させていただきました。このような行を書くことの利点は何ですか?
feedとして宣言される可能性がありますがEventFeed、の結果はそうでservice.Query(eventQuery)はない可能性があります。
を使用asすると例外がスローされnullなくなり、式の結果を としてキャストできない場合は代わりに になりますEventFeed。
ここで詳細を読むことができますas- http://msdn.microsoft.com/en-us/library/cscsdfbt(v=vs.71).aspx
呼び出しから返された DataType によって異なりますQuery。asこの場合、 は結果を型にキャストしようとします。EventFeedそうでない場合は を返しnullます。
あなたのクエリはobject
service.Query(eventQuery)
したがって、このオブジェクトをデータ型としてキャストしています。