Есть очень странное задание, никак не могу разобраться. Обязательное условие — использование лямбда выражения для решения задачи.
Сама задача. Есть некий фитнес -центр. Есть список клиентов вот такого класса.
class Client
{
public Client(int code, int year, int month, int totalHours)
{
Code = code;
Year = year;
Month = month;
TotalHours = totalHours;
}
public override string ToString()
{
return Code + " " + Year + " " + Month + " " + TotalHours;
}
public int Code;
public int Year;
public int Month;
public int TotalHours;
}
Code — не нужный параметр, Year — год начала занятий, Month — месяц начала занятий, TotalHours — количество часов занятий в каждом месяце.
Вот список клиентов.
List<Client> clients = new List<Client>();
clients.Add(new Client(1, 2002, 10, 2));
clients.Add(new Client(2, 2008, 1, 15));
clients.Add(new Client(3, 2010, 12, 1));
clients.Add(new Client(4, 2009, 3, 25));
clients.Add(new Client(5, 2001, 7, 20));
clients.Add(new Client(6, 2000, 7, 1));
clients.Add(new Client(7, 2007, 9, 3));
И сейчас само задание. Нужно для каждой пары «ГОД-МЕСЯЦ», для каждого клиента посчитать сколько он занимался часов с этой даты (или 0, если он начал позже заниматься), потом просуммировать эти значения для текущей даты и на выходе получить список «ГОД — МЕСЯЦ — ВРЕМЯ».
То есть брать по очереди год и месяц, потом для каждого клиента считать сколько он занимался с этого момента времени (пара год-месяц), и суммировать все значения для этой пары. Потом брать следующую пару и делать тоже самое.
Если честно, без linq и лямбда выражений сделаю быстро, а вот с ними как — без понятия. Прошу помощи.