c# - 嵌套列表上的 Linq c#
问题描述
我有一个看起来像这样的层次结构:
public class GetCategoriesReply : BaseReply
{
public IEnumerable<Subsystem> Categories { get; set; }
}
public class Subsystem
{
public IEnumerable<cat1> cat1 { get; set; }
public string id { get; set; }
public string name { get; set; }
}
public class cat1
{
public IEnumerable<cat2> cat2 { get; set; }
public string id { get; set; }
public string name { get; set; }
}
public class cat2
{
public IEnumerable<cat3> cat3 { get; set; }
public string id { get; set; }
public string name { get; set; }
}
public class cat3
{
public string id { get; set; }
public string name { get; set; }
}
如果可能的话,我想从查询中获取 Cat3 的列表。我已经尝试过了,但没有让它工作:
var cat3list = categoryList.Categories
.Where(s => s.name == "Payment")
.Select(x => x.cat1.Where(c => c.name == "Admin").SelectMany(y => y.cat2.Select(z => z.cat3))
.ToList());
有什么建议么?亲切的问候/鲁迪
解决方案
var cat3list = Categories.Where(s => s.name == "Payment")
.SelectMany(x => x.cat1).Where(c => c.name == "Admin")
.SelectMany(x => x.cat2)
.SelectMany(x => x.cat3).ToList();
推荐阅读
- c# - C# 自定义功能区错误
- css - 在 flex 中查看:1 未扩展到全高,KeyboardAvoidingView 无法正常工作
- javascript - 将现有的 HTML/CSS/JS 与 Django 项目集成
- jquery - 隐藏 HTML 复选框,但在使用自定义图像复选框时保留功能
- python - Python 定时轮换日志
- python - ImportError:libnvidia-fatbinaryloader.so.396.24.02:无法打开共享对象文件:没有这样的文件或目录
- r - 分组词频
- ruby-on-rails - 我有推送到heroku的问题
- javascript - 基于所选/活动对象显示控件未按预期工作
- javascript - popup not working via javascript cookies - updated code