2011-03-24 5 views
24

안녕하세요 클래스 유형 class1의 요소 목록을 아래에 표시합니다. 요소 사전에 그룹화하십시오.

var t =(from data in datas group data by data.groupID into dataGroups select dataGroups).ToDictionary(gdc => gdc.ToList()[0].groupID, gdc => gdc.ToList()); 

그것은 것 thiss

답변

46

을하는 더 나은 방법이 있나요 :이 방법을 수행 한

class SampleClass 
{ 
    public int groupID; 
    public string someData; 
}                     

그룹 ID를 기반으로

Dictionary<int,List<SampleClass>>에 그룹에 I에게 그들이 할 방법 다음을 대체하는 것이 더 효율적입니다.

gdc => gdc.ToList()[0].groupID 

: 내가했을 것 같은 그 외에는

gdc => gdc.Key 

, 그것은 보인다.

다른 방법으로, 당신은 LINQ를 통해 확장 방법과 좋아하는 경우 (내가 개인적으로 선호), 그것은 더욱 여전히 단축 할 수

:

var t = data.GroupBy(data => data.groupID).ToDictionary(gdc => gdc.Key, gdc => gdc.ToList()); 
관련 문제