将foreach循环转换为LINQ

Vah*_*hid 2 c# linq list

ModelBeams是一个List<ModelBeam>,linesPassingThroughBeamEndsInYDirection是一个List<double>.

如何foreach使用LINQ?编写以下循环?

foreach (var beam in ModelBeams)
{
    linesPassingThroughBeamEndsInYDirection.Add(beam.ConnectivityLine.I.Y);
    linesPassingThroughBeamEndsInYDirection.Add(beam.ConnectivityLine.J.Y);
}
Run Code Online (Sandbox Code Playgroud)

D S*_*ley 5

您可以使用Linq选择两个部分作为集合,然后使用SelectMany"展平"集合:

linesPassingThroughBeamEndsInYDirection.AddRange(
   ModelBeams.SelectMany(beam => new [] {
                                         beam.ConnectivityLine.I.Y, 
                                         beam.ConnectivityLine.J.Y}
                        ));
Run Code Online (Sandbox Code Playgroud)