繁体   English   中英

无法使用linq在嵌套列表中创建对象列表

[英]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

那我该如何解决这个问题呢?

SelectIEnumerable扩展方法,除非它实现IEnumerable否则不能从obj Select 就您而言,您可能只需要return obj.agent;

您的第二次尝试在整个行中显示错误,因为您的返回类型很可能是错误的。 我们需要查看您的整个方法,尤其是签名,才能告诉您确切的问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM