[英]Can't create list of object in nested list with linq
我已经开发了一个dll,可让我使用API的某些方法。 一切正常,但现在我对linq有问题。 特别是我通常将从api返回的所有结果存储在对象列表中。 因此,我可以对其进行迭代,并使每个项目分开。 现在我有这个课:
public class Agent
{
public int id { get; set; }
public string name { get; set; }
}
public class RootObject
{
public List<Agent> agent { get; set; }
}
我像这样反序列化json:
var obj = JsonConvert.DeserializeObject<RootObject>(responseText);
return obj.Select(o => o.agent).ToList();
现在我可以正确地反序列化json了,因为这是Agent
的列表,但是我不能使用该方法返回对象列表:
return obj.Select(o => o.agent).ToList();
.Select
用红色下划线标出,编译器告诉我:
Agent.RootObject不包含Select的定义
如果相反,我使用: var obj = JsonConvert.DeserializeObject<List<RootObject>>(responseText);
所有返回线都用红色加下划线:
无法转换System.Collections.Generic.List中的System.Collections.Generic.List
那我该如何解决这个问题呢?
Select
是IEnumerable
扩展方法,除非它实现IEnumerable
否则不能从obj
Select
。 就您而言,您可能只需要return obj.agent;
。
您的第二次尝试在整个行中显示错误,因为您的返回类型很可能是错误的。 我们需要查看您的整个方法,尤其是签名,才能告诉您确切的问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.