1
我從服務接收數據的格式如下:我應該用LINQ替換這些嵌套的foreach循環嗎?
public class Foo
{
string Name;
}
public class Bar
{
int ID;
List<Foo> Foos;
}
public class Container
{
List<Bar> Bars;
}
我需要編寫返回所有FOOS在集裝箱的名稱的方法,與它們相關聯的酒吧的ID成對,在下面的類:
public class FooBar
{
int BarID;
Foo Name;
}
這是我想出了:
IEnumerable<FooBar> FooBars(Container c)
{
foreach (var b in c.Bars)
{
foreach (var f in b.Foos)
{
yield return new FooBar() { BarID = b.ID; Name = f.Name; }
}
}
}
我有兩個問題:
- 我該如何用LINQ代替嵌套的foreach循環來編寫它?
- 有沒有很好的理由這樣做?