今天遇到了下面这段代码:
EventFeed feed = null;
feed = service.Query(eventQuery) as EventFeed;为什么要在最后加上as EventFeed?该函数的返回类型已经是一个EventFeed,所以我很难看到这样一个语句的好处。
我发现搜索这个问题很困难,所以我在这里询问。像这样写一行有什么好处?
发布于 2013-05-21 22:22:29
可以将feed声明为EventFeed,但是service.Query(eventQuery)的结果可能不是。
使用as可以阻止抛出异常,如果表达式的结果不能转换为EventFeed,则以null结束。
你可以在这里阅读更多关于as的信息- http://msdn.microsoft.com/en-us/library/cscsdfbt(v=vs.71).aspx
发布于 2013-05-21 22:22:40
这取决于从Query调用返回的DataType。在这种情况下,as将尝试将结果强制转换为EventFeed类型,否则返回null。
发布于 2013-05-21 22:22:49
您的查询可能返回一个object
service.Query(eventQuery)因此,您将此对象转换为您的数据类型。
https://stackoverflow.com/questions/16672403
复制相似问题