2014-06-09 2 views
1

IEnumerable<IGrouping<T,K>>IEnumerable<K>으로 변환하는 가장 좋은 방법은 무엇입니까?변환 IEnumerable <IGrouping <T, K>> ~ IEnumerable <K>

이 방법은 작동 보인다

myEnumerable = myEnumerableOfGroups 
    .Select(group => group.AsEnumerable) 
    .Aggregate((enumA, enumB) => enumA.Concat(enumB)); 

그것을 할 수있는 더 효율적인 방법이?

+0

원하는 목표에 따라 다릅니다. 각 그룹의 모든 K 개체를 순차적으로 반복하고 싶습니까? 즉 그룹화를 취소 하시겠습니까? – cdhowie

+3

@cdhowie 조심해, 질문을하기를 그만하면 전철을 놓칠 수 있습니다. 같은 초에 세 가지 답변. – Rawling

+2

@Rawling 나는 어리석은 rep 지점보다 오히려 명확하게 문서화 된 질문을하고 싶습니다. – cdhowie

답변

1

이 그것을 수행해야합니다

myEnumerable = myEnumerableOfGroups.SelectMany(group => group); 

SelectMany의이 오버로드에 대한 MSDN 페이지 here입니다.

+0

와우, 그 것이 었습니다. :) 감사합니다. – MichaelB

+1

@MichaelB이 질문에 대한 가장 빠른 반응은 "rep!"입니다. "어쩌면 그것은 중복"이 아닙니다. – Rawling

+2

@MichaelB 그 말은 질문을하기 전에 당신이 한 연구가 얼마나 적 었는지를 알려주지 만 질문에 대답 한 사람들이 포스터를 얼마나 숙련했는지는 알 수 없습니다. – Servy

관련 문제