2013-02-09 4 views
1

하여 목록 내가 같은 클래스가 새 목록뿐만 아니라 같은 높은 게재 순위그룹 두 가지 기준 나는 목록을 가지고 C#

즉, 새 목록을 만들려면

Class =>  Second  Third Second Fourth Fifth Second 

Position =>  2   3  2  5  1  3 

Class =>  Second  Second 

Postion =>  2    2 


Class =>   Second 

Position =>   3 


Class =>   Third 

Position =>   3 

등등

부모 목록에서 muliple GroupBy를 사용하여 다른 목록을 생성하거나 먼저 0을 써야합니까?GroupBy "클래스"다음에 "위치"?

답변

5

그룹 by positionclass. 하나 GroupBy().

var groupedByTwoThingsAtOnce = myList 
    .GroupBy(i => new { Class = i.Class, Position = i.Position }); 
6

...하고 한 번에 두 가지로 그룹화 방법 에 : 예를 들어

여러 속성. (현재 방법에서 그룹화 된 결과를 반환해야 할 경우, 예를 들어) 당신이, 당신은 또한 튜플

를 사용하려고 할 수있는 익명의 유형을 사용할 수있는 경우 는 다음

.GroupBy(item => new {ClassGroup = item.Class, PositionGroup = item.Position}) 

뭔가를 할 수

.GroupBy(item => new Tuple<string, int>(item.Class, item.Position)) 
3

당신이 그룹화 한 후 GROUPBY에 대한 익명 형식을 사용할 수 있습니다

var groupedByTwoThingsAtOnce = myList 
    .GroupBy(i => new { Class = i.Class, Position = i.Position });