作者OpenGoodHate (什麽东西什麽东西)
看板C_Sharp
标题[问题] 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://webptt.com/cn.aspx?n=bbs/C_Sharp/M.1397016470.A.B72.html
※ 编辑: OpenGoodHate (60.251.38.1), 04/09/2014 12:09:27
1F:→ AndyLeo:要不要把两个from...的叙述句写在一起试试? 04/09 14:17
2F:→ AndyLeo:应该要处理x["glb"]没有符合或符合多笔y["glb"]的情形 04/09 14:18