2017-04-24 1 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)); 
} 

내가 목록 1의 각 항목에 대한 repository.GetList를 호출 목록에 결과를 추가 할 : 나는 다음과 같은 코드가 있습니다.

+1

? 당신은 그것을 'var'로 가지고 있고 어떤 신화적인 방법의 결과로 ... 그게 어떤 타입인가? –

답변

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

그리고 당신은리스트로 원하는 경우 :`list1`은 무엇인가

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

나는 당신이 평평한 목록이되도록'SelectMany'가 필요하다고 생각한다. – MrZander

+0

@MrZander 너는 정말로 옳다. 고마워. – stuartd

+0

고마워, 구조에 SelectMany! – user2769810

관련 문제