LINQ instead of foreach and list.addrange

Viewed 1185

Does anyone knows what the LINQ code is for the following code?:

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

Use SelectMany to flatten nested lists

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

Try SelectMany in order to flatten the collection of collection:

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