2011-08-03 29 views
1
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; 
         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(); 
         } 
        } 

對於前兩個項目沒有異常,但對於第三個是: 堆棧跟蹤:的NullReferenceException設置字符串時,WP7

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數據:

{ 
    "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" 
    } 
    ] 
} 

回答

3

你的LINQ查詢總是要返回一個枚舉,即使是空的。

也許:

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"]; 
     } 
    } 
相關問題