我调用了Web服务,并用JSON返回了响应对象。
我想要列表中的结果,以便我可以对它们进行枚举。
所以我有这段代码可以正常工作。
initializer_list
我想返回一个已知类的列表,所以尝试了以下操作:
var players = getPlayersResponse.Payload
.Select(p => new { p.Name, p.Pid, p.Model, p.Ip, p.Gid })
.ToList();
foreach (var p in players)
{
Players.Items.Add(p.Name);
}
和班级
var players = getPlayersResponse.Payload
.Select(p => new Player { Name= p.Name, Pid= p.Pid, Model= p.Model, Ip= p.Ip, Gid= (int)p.Gid })
.ToList();
foreach (var p in players)
{
Players.Items.Add(p.Name);
}
该版本不起作用(列表框中未填充项目),而且我完全没有错误,编译器也没有抱怨。奇怪的是,尽管我没有将p.Gid转换为int,但编译器确实抱怨。两种情况下都是相同的json结果。
我看不到我在做错什么。
答案 0 :(得分:0)
我通过更改此类来解决了这个问题
public class Player
{
public string Name { get; set; }
public int Pid { get; set; }
public string Model { get; set; }
public string Ip { get; set; }
public int? Gid { get; set; }
}