今日、このコードのスニペットに出くわしました:
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)
したがって、このオブジェクトをデータ型としてキャストしています。