请问这样的list转为list?
cansum396 2019-06-02 10:17:28
[0]: {{
"UserID": 5,
"Show": false
}}
[1]: {{
"UserID": 5,
"Show": true
}}
[2]: {{
"UserID": 1,
"Show": true
}}
[3]: {{
"UserID": 2,
"Show": true
}}
[4]: {{
"UserID": 3,
"Show": true
}}

请问这样的list<object>转为list<dynamic>,这个list<object>也是一个dynamic
可以通过list[0].UserID取出5
...全文
493 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
货郎大叔 2019-06-03
  • 打赏
  • 举报
回复
List<object> lo = new List<object>(); List<dynamic> ld = new List<dynamic>(); lo = (List<dynamic>)ld;
cansum396 2019-06-03
  • 打赏
  • 举报
回复
string Json = @"{ ""Info"": ""Succ"", ""User"": [{ ""UserID"": 5, ""Show"": false }, { ""UserID"": 5, ""Show"": true }, { ""UserID"": 5, ""Show"": true }, { ""UserID"": 5, ""Show"": true }, { ""UserID"": 5, ""Show"": true }] }"; var DynamicObject = JsonConvert.DeserializeObject<dynamic>(Json); DynamicObject 值数据就不对了 DynamicObject {{ "Info": "Succ", "User": [ { "UserID": 5, "Show": false }, { "UserID": 5, "Show": true }, { "UserID": 5, "Show": true }, { "UserID": 5, "Show": true }, { "UserID": 5, "Show": true } ] }} dynamic {Newtonsoft.Json.Linq.JObject}
cansum396 2019-06-02
  • 打赏
  • 举报
回复
_User出来的就是 [0]: {{ "UserID": 5, "Show": false }} [1]: {{ "UserID": 5, "Show": true }} [2]: {{ "UserID": 1, "Show": true }} [3]: {{ "UserID": 2, "Show": true }} [4]: {{ "UserID": 3, "Show": true }}
cansum396 2019-06-02
  • 打赏
  • 举报
回复
var DynamicObject = JsonConvert.DeserializeObject<dynamic>(Json); List<dynamic> _User=new List<dynamic>() ; _User=Obj._User.ToObject<List<dynamic>>();
cansum396 2019-06-02
  • 打赏
  • 举报
回复
引用 2 楼 wid999 的回复:
呃,试了一下,可以直接强制转换。
            List<object> lo = new List<object>();
            List<dynamic> ld = new List<dynamic>();
            lo = (List<dynamic>)ld;
转换出来之后还是ld[0] = {{ "UserID": 5, "Show": false }} 不是Id[0].UserID
wid999 2019-06-02
  • 打赏
  • 举报
回复
呃,试了一下,可以直接强制转换。
            List<object> lo = new List<object>();
List<dynamic> ld = new List<dynamic>();
lo = (List<dynamic>)ld;
wid999 2019-06-02
  • 打赏
  • 举报
回复
            List<object> lo = new List<object>();
List<dynamic> ld = new List<dynamic>();
ld.AddRange(from o in lo as IEnumerable<dynamic>
select (dynamic)o);
ld[0].UserID = 0;


编译通过。不知道是不是你要的。
wid999 2019-06-02
  • 打赏
  • 举报
回复
看不明白你是怎么赋值的。正常赋值不会给你加上括号的。你查查看赋值时有没有多加了什么东西。实在不行就加分找大神。
cansum396 2019-06-02
  • 打赏
  • 举报
回复
_User=DynamicObject._User.ToObject<List<dynamic>>();
cansum396 2019-06-02
  • 打赏
  • 举报
回复
引用 6 楼 wid999 的回复:
你那个是在即时窗口里的还是在哪的输入?可以的话把定义的变量和输出语句贴出来下。 [quote=引用 5 楼 cansum396 的回复:] _User出来的就是 [0]: {{ "UserID": 5, "Show": false }} [1]: {{ "UserID": 5, "Show": true }} [2]: {{ "UserID": 1, "Show": true }} [3]: {{ "UserID": 2, "Show": true }} [4]: {{ "UserID": 3, "Show": true }}
[/quote] { "Info": "Succ", "User": [{ "UserID": 5, "Show": false }, { "UserID": 5, "Show": true }, { "UserID": 5, "Show": true }, { "UserID": 5, "Show": true }, { "UserID": 5, "Show": true }] } 这一段是json var DynamicObject = JsonConvert.DeserializeObject<dynamic>(Json); List<dynamic> _User=new List<dynamic>() ; _User=Obj._User.ToObject<List<dynamic>>();
wid999 2019-06-02
  • 打赏
  • 举报
回复
你那个是在即时窗口里的还是在哪的输入?可以的话把定义的变量和输出语句贴出来下。

引用 5 楼 cansum396 的回复:
_User出来的就是 [0]: {{
"UserID": 5,
"Show": false
}}
[1]: {{
"UserID": 5,
"Show": true
}}
[2]: {{
"UserID": 1,
"Show": true
}}
[3]: {{
"UserID": 2,
"Show": true
}}
[4]: {{
"UserID": 3,
"Show": true
}}

110,537

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧