2012-06-19 3 views
5

이 내 코드입니다 :이 LINQ 쿼리를 어떻게 그룹화 할 수 있습니까?

objectList = (from MyObject obj in MyObjects 
      select r).ToList(); 

나는 "별개"각 레코드의 목록을 반환하고 싶습니다 obj.ID. 어떻게해야합니까? 당신이 특정 ID에 대한 모든 값을 가져, 또는 그룹을 반복 할 수 있습니다

var lookup = MyObjects.ToLookup(x => x.ID); 

을 : 당신이 ToLookup을 할 수 있습니다처럼

답변

2

(참고, 나는 IDint을 입력 있다고 가정) :

groupedList = (from obj in MyObjects 
      group obj by obj.ID into grouped 
      select grouped).ToList(); 
2

는 소리가 난다. 그것은 GroupBy의 게으른 평가보다는 열심히 평가됩니다. 이것은 아마도 당신이이 경우에 원하는 것입니다.

귀하의 요청을 정확하게 이해했다고 가정합니다. 전적으로 동의하지 않았을 가능성이 있습니다 ... 명확히 할 수 있다면 도움이 될 것입니다. 이것은 당신에게 유형 IGrouping<int, MyObject>의 목록을 제공합니다

관련 문제