2017-10-22 1 views
0

존재C# LINQ 집계 내가 그런 클래스가 목록

var listUserBadge = new List<UserBadge>; 
listUserBadge .Add(new UserBadge { Id = 1, 
            Name = 'Mario', 
            Surname = 'Rossi', 
            FiscalCode = 'XXXX', 
            Hours = 8, 
            Month = 1, 
            Year = 2017, 
            Day = 4 
        }); 
listUserBadge .Add(new UserBadge { Id = 1, 
            Name = 'Mario', 
            Surname = 'Rossi', 
            FiscalCode = 'XXXX', 
            Hours = 4, 
            Month = 2, 
            Year = 2017, 
            Day = 4 
        }); 
listUserBadge .Add(new UserBadge { Id = 1, 
            Name = 'Mario', 
            Surname = 'Rossi', 
            FiscalCode = 'XXXX', 
            Hours = 8, 
            Month = 1, 
            Year = 2017, 
            Day = 10 
        }); 
listUserBadge .Add(new UserBadge { Id = 2, 
            Name = 'Pippo', 
            Surname = 'Pluto', 
            FiscalCode = 'XXXX', 
            Hours = 8, 
            Month = 1, 
            Year = 2017, 
            Day = 4 
        }); 

내가 동일한 ID에 대한 집계를위한 LINQ 명령을 원하는, 월, 그 난 후

var listUserBadge = new List<UserBadge>; 
listUserBadge .Add(new UserBadge { Id = 1, 
            Name = 'Mario', 
            Surname = 'Rossi', 
            FiscalCode = 'XXXX', 
            Hours = 16, 
            Month = 1, 
            Year = 2017, 
            Day = 0 
        }); 
listUserBadge .Add(new UserBadge { Id = 1, 
            Name = 'Mario', 
            Surname = 'Rossi', 
            FiscalCode = 'XXXX', 
            Hours = 4, 
            Month = 2, 
            Year = 2017, 
            Day = 4 
        }); 
listUserBadge .Add(new UserBadge { Id = 2, 
            Name = 'Pippo', 
            Surname = 'Pluto', 
            FiscalCode = 'XXXX', 
            Hours = 8, 
            Month = 1, 
            Year = 2017, 
            Day = 4 
        }); 

: 년 (하루에 대한 상관 없어) 시간을 합산, 그래서 뭔가 이런 식으로 데이터를 추가 할 equival 기존 데이터를 통해 만들 모든 데이터를 반복하고 단일 .CSV를 추출하지만 이것은 또 다른 이야기입니다. 나는 그 일을하는 방법을 알아 내지 못합니다. 누군가 나를 도울 수 있습니까?

감사

+0

'.GroupBy (badge => new {badge.Id, badge.Year, badge.Month}) ... '그러면 직면 한 특정 문제를 알려주십시오. – Fabio

답변

1

당신이 사용 GroupBy 할 수있는 당신은 시간이 키를 공급하고 요약 할 수 있습니다.