2017-04-24 69 views
0

我想將以下行轉換爲LINQ,建議如何做到這一點?我有以下代碼:LINQ:添加到列表中的每個項目

IEnumerable<person> result = Enumerable.Empty<person>(); 
var list1 = getlist1(..) 
var repository = new Repository(); 
for(int i = 0; i < list1.Length; i++) 
{ 
    result = result.Union(repository.GetList(list1[i].ID)); 
} 

我想爲list1中的每個項目調用repository.GetList,並將結果添加到列表中。

+1

是什麼'list1'?你有它作爲一個'var'和作爲一些神話方法的結果...它是什麼類型的? –

回答

2
IEnumerable<person> result = list1.SelectMany(i => repository.GetList(i.ID)); 

如果你希望他們作爲一個列表:

IList<person> result = list1.SelectMany(i => repository.GetList(i.ID)).ToList(); 
+2

我認爲你需要'SelectMany',這是一個扁平的列表 – MrZander

+0

@MrZander你是絕對正確的,謝謝。 – stuartd

+0

非常感謝,SelectMany來拯救! – user2769810

相關問題