Re: [問題] LINQ 子查詢該如何寫
※ 引述《OpenGoodHate (什麼東西什麼東西)》之銘言:
: 標題: [問題] LINQ 子查詢該如何寫
: 時間: Wed Apr 9 12:07:47 2014
: 研究了好久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
感謝AndyLeo大的指導
改寫成以下程式碼之後可以正常運作
並達感我想要的效果
var aa = from x in layCount["lay"]
from y in layCount["Urlist"]
where ( int ) y["glb"] == ( int ) x["glb"]
select new { lay = x["id"],glb = y["Url"]};
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 60.251.38.1
※ 文章網址: http://www.ptt.cc/bbs/C_Sharp/M.1397038317.A.C39.html
推
04/09 18:50, , 1F
04/09 18:50, 1F
推
04/10 22:17, , 2F
04/10 22:17, 2F
討論串 (同標題文章)
完整討論串 (本文為第 2 之 2 篇):
C_Sharp 近期熱門文章
PTT數位生活區 即時熱門文章