我有List<Person>(人)每个人都有List<Kid>(孩子)
如果我想找到所有的孩子,在LINQ这就是我要做的
var kids=new List<Kids>();
foreach(var p in people)
{
foreach(var kid in p.Kids)
{
kids.Add(kid);
}
}
Run Code Online (Sandbox Code Playgroud)
使用LINQ有一种单行方式吗?
Mat*_*ens 13
它就像SelectMany一样简单:
将序列的每个元素投影到IEnumerable,并将生成的序列展平为一个序列.
var kids = people.SelectMany(p => p.Kids);
Run Code Online (Sandbox Code Playgroud)
(如果你想要一个List<Kid>而不是一个IEnumerable<Kid>,只需调用.ToList()结果.)
| 归档时间: |
|
| 查看次数: |
1747 次 |
| 最近记录: |