C# 如何订购非类型数组?
JSON: 我的代码:C# 如何订购非类型数组?,c#,.net,linq,C#,.net,Linq,JSON: 我的代码: "media$thumbnail":[ { "url":"https://i1.ytimg.com/vi/gL23XCv6rek/default.jpg", "height":90, "width":120, "time":"00:08:11", "yt$name":"default" }, { "url":"https://i1.ytimg.com/vi/gL23XCv6rek/mqde
"media$thumbnail":[
{
"url":"https://i1.ytimg.com/vi/gL23XCv6rek/default.jpg",
"height":90,
"width":120,
"time":"00:08:11",
"yt$name":"default"
},
{
"url":"https://i1.ytimg.com/vi/gL23XCv6rek/mqdefault.jpg",
"height":180,
"width":320,
"yt$name":"mqdefault"
},
{
"url":"https://i1.ytimg.com/vi/gL23XCv6rek/hqdefault.jpg",
"height":360,
"width":480,
"yt$name":"hqdefault"
}
]
我想用max“width”
值提取“url”
我应该用OrderByDescending(p=>p.width)
对这个列表进行排序,但是我当然不能访问那个类型化的值
我怎么做?LINQ上有什么方法吗?你得到的是一个
JArray
,你可以枚举到JToken
s,并且JToken
有一个方法SelectToken
,可以得到嵌套在里面的值
使用Linq,您将得到类似的结果
var thumbnailList = (JArray)item["media$group"]["media$thumbnail"];
现在无法测试,但我会尝试类似于
OrderByDescending(t=>Convert.ToInt32(t.SelectToken(“width”))
。错误处理不包括:)是的,它有效:)如果你写了答案,你会得到+1:P
OrderByDescending(t => Convert.ToInt32(t.SelectToken("width")))