我有一个 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/

10-13 00:01