我有一个 List<Person>
(人) 每个人都有一个 List<Kid>
( children )
如果我想找到所有的 child ,在 LINQ 这就是我要做的
var kids=new List<Kids>();
foreach(var p in people)
{
foreach(var kid in p.Kids)
{
kids.Add(kid);
}
}
是否有一种使用 LINQ 执行此操作的单行方式?
最佳答案
就像 SelectMany 一样简单:
var kids = people.SelectMany(p => p.Kids);
(如果您想要
List<Kid>
而不是 IEnumerable<Kid>
,只需对结果调用 .ToList()
。)关于c# - 使用 lambda 查找所有实体,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14467266/