开发者

NullReferenceException when setting string wp7

var response = JObject.Parse(e);
                    foreach (var item in _wall) {
                        var yh = from ix in response["response"]
           开发者_Python百科                      where (int)ix["uid"] == item.from_id
                                 select ix;
                        if (yh != null) {
                            item.image_uri = yh.FirstOrDefault()["photo_medium_rec"].ToString(); //EXCEPTION
                            item.author_name = yh.FirstOrDefault()["first_name"].ToString() + " " + yh.FirstOrDefault()["last_name"].ToString();
                        }
                    }

For the first two items there is no exception but for the third is: StackTrace:

 at iVk.UserPage.get_profiles_info(String e)
   at iVk.App.<>c__DisplayClass2.<>c__DisplayClass4.<get_data>b__1()
   at System.Reflection.RuntimeMethodInfo.InternalInvoke(RuntimeMethodInfo rtmi, Object obj, BindingFlags invokeAttr, Binder binder, Object parameters, CultureInfo culture, Boolean isBinderDefault, Assembly caller, Boolean verifyAccess, StackCrawlMark& stackMark)
   at System.Reflection.RuntimeMethodInfo.InternalInvoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture, StackCrawlMark& stackMark)
   at System.Reflection.MethodBase.Invoke(Object obj, Object[] parameters)
   at System.DelegateПервый этап обработки исключения типа "System.Exception" в приложении System.Windows.dll

Json Data:

{
  "response": [
    {
      "uid": 92026953,
      "first_name": "Kristina",
      "last_name": "Valkonskaya",
      "photo_medium_rec": "http://cs11163.vkontakte.ru/u92026953/d_2de22683.jpg"
    },
    {
      "uid": 36798445,
      "first_name": "Марина",
      "last_name": "Соболевская",
      "photo_medium_rec": "http://cs10575.vkontakte.ru/u36798445/d_c70884c3.jpg"
    }
  ]
}


Your linq query is always going to return a enumeration, even if empty.

Perhaps:

  var response = JObject.Parse(e);
  foreach (var item in _wall) {
      var yh = (from ix in response["response"]
                where (int)ix["uid"] == item.from_id
                select ix).FirstOrDefault();
      if (yh != null) {
          item.image_uri = yh["photo_medium_rec"].ToString();
          item.author_name = yh["first_name"] + " " + yh["last_name"];
      }
  }
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜