LINQ代替foreach和list.addrange

时间:2018-09-17 12:33:44

标签: c# linq

有人知道以下代码的LINQ代码是什么吗?

foreach (Bed bed in field.GetBeds())
{
    asparaguses.AddRange(bed.GetAsparaguses());
}

2 个答案:

答案 0 :(得分:11)

使用SelectMany展平嵌套列表

asparaguses.AddRange(field.GetBeds().SelectMany(bed => bed.GetAsparaguses()));

答案 1 :(得分:5)

尝试SelectMany拼合集合的集合

 asparaguses.AddRange(field
    .GetBeds()
    .SelectMany(bed => bed.GetAsparaguses()));