2012-07-24 2 views
1

나는 목록을목록에서 항목을 가져와 내부 목록을 하나의 목록으로 가져옵니다.

public class Org 
{ 
    public string Name; 
    public List<OrgPost> OrgPostCollection= new List<OrgPost>(); 
} 

public class OrgPost 
{ 
    public string OrgPostTitle; 
} 

을 가지고 있습니다

List<Org> OrgCollection=//GetAll(Org); 

을하고 지금은이

[Name,OrgPostCollection] 
    [Name2,OrgPostCollection2] 
    ... 

같은 조직의 목록을 가지고하지만 난 이런 걸해야

[Name1,OrgPostCollection[0]] 
    [Name1,OrgPostCollection[1] 
    [Name2,OrgPostCollection[0]] 
    [Name2,OrgPostCollection[1]] 
    ... 
+0

완전한 대답하지만 ['SelectMany'] (HTTP를 알고 :

결과 flatEnumerable는 다음 목록 또는 배열에 열거를 해결하기 위해 ToList 또는 ToArray를 호출 할 수 있습니다, IEnumerable<Tuple<Org, OrgPost>>입니다 : //msdn.microsoft.com/en-us/library/bb534336.aspx)? – phg

답변

2

당신은 중첩 된 선택을 할 수 있습니다

var flatEnumerable = from o in OrgCollection 
         from p in o.OrgPostCollection 
         select new Tuple<Org, OrgPost>(o, p); 

당신은 당신이 select에서 원하는 프로젝트, 나는 Tuple<Org, OrgPost>을 투사 할 수 있습니다. 하지

List<Tuple<Org, OrgPost>> flatList = flatEnumerable.ToList(); 
Tuple<Org, OrgPost>[] flatArray = flatEnumerable.ToArray(); 
관련 문제