2011-08-01 4 views
6

나는 navigationList이라는 콜렉션을 가지고 있습니다. 이 목록에는 customer 개체가 저장됩니다. 고객의 이름은 Town입니다.LINQ groupby 질문

이 목록에는 5 명의 고객이 있습니다. 2 개는 "뉴욕"마을과 5 개 마을은 "마드리드"입니다.

목록을 2 명만 보유하고 싶습니다. 1 개는 "뉴욕"이라는 마을과 "마드리드"는 1 개입니다. 2 명이 "뉴욕"출신이라면, 나는 마지막 것을 원한다. "Madrid"와 동일합니다.

LINQ 문은 어떻게 생겼을까요? 이 경우

var newList = navigationList. 
       GroupBy(c => c.Town). 
       Select(g => g.OrderBy(c => c.Id).Last()). 
       ToList(); 

주문이 완료 :

var newList = navigationList.GroupBy(c => c.Town) // ? 

답변

18

당신은 Last 의미가되도록 그러나

var newList = navigationList.GroupBy(c => c.Town).Select(g => g.Last()).ToList(); 

같은, 당신은 아마 OrderBy 먼저하고 싶은 것 할 것 고객 ID 별