[問題] LINQ 子查詢該如何寫

看板C_Sharp (C#)作者 (什麼東西什麼東西)時間11年前 (2014/04/09 12:07), 11年前編輯推噓0(002)
留言2則, 1人參與, 最新討論串1/2 (看更多)
研究了好久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

04/09 14:17, , 1F
要不要把兩個from...的敘述句寫在一起試試?
04/09 14:17, 1F

04/09 14:18, , 2F
應該要處理x["glb"]沒有符合或符合多筆y["glb"]的情形
04/09 14:18, 2F
文章代碼(AID): #1JHCUMjo (C_Sharp)
文章代碼(AID): #1JHCUMjo (C_Sharp)