2017-04-24 20 views
0

次の行をLINQに変換しようとしていますが、推奨する方法は何ですか?私はリスト1の各項目についてrepository.GetListを呼び出して、リストに結果を追加したい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)); 
} 

:私は、次のコードを持っています。

+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

関連する問題