看板 C_Sharp 關於我們 聯絡資訊
研究了好久linq 子查詢 google 都只有教在where 條件下的作法 自己寫了一支在select 的時後子查詢 但是動作確有錯誤 貼上程式碼請有經驗的板友指導一下 原始JSON { "is":false, "lay":[ { "des":"", "id":"8891", "Enable":true, "glb":1 }, { "des":"", "id":"33456", "Enable":true, "glb":2 }], "Urlist":[ {"glb":1,"Url":"http://tw.yahoo.com/YHO01"}, {"glb":2,"Url":"http://tw.yahoo.com/YHO09"} ] } 目前LINQ 的寫法 JObject layCount = resultJsObj;//上面的JSON 己在resultJsObj 中 var aa = from x in layCount["lay"] select new { lay = x["id"], glb = ( from y in layCount["Urlist"] where ( int ) y["glb"] == ( int ) x["glb"] select y["Url"]) }; 我想要的輸出 aa.lay => 8891 aa.glb => http://tw.yahoo.com/YHO01 aa.lay => 33456 aa.glb => http://tw.yahoo.com/YHO01 但是實際上 glb 欄位這樣的寫法是錯誤的 想請問正確的linq 子查詢 寫法應該如何下才會正確作動 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 60.251.38.1 ※ 文章網址: http://www.ptt.cc/bbs/C_Sharp/M.1397016470.A.B72.html ※ 編輯: OpenGoodHate (60.251.38.1), 04/09/2014 12:09:27
AndyLeo:要不要把兩個from...的敘述句寫在一起試試? 04/09 14:17
AndyLeo:應該要處理x["glb"]沒有符合或符合多筆y["glb"]的情形 04/09 14:18