Разбить массив - C#
Формулировка задачи:
Есть Dictionary:
2009-01 - 304
2009-02 - 152
2009-03 - 82
2009-04 - 70
2009-05 - 82
2009-06 - 120
2009-07 - 32
2009-08 - 45
2009-09 - 75
2009-10 - 77
2009-11 - 25
2009-12 - 152
2010-01 - 304
2010-02 - 152
2010-03 - 82
2010-04 - 70
2010-05 - 82
2010-06 - 120
2010-07 - 32
2010-08 - 45
2010-09 - 75
2010-10 - 77
2010-11 - 25
2010-12 - 152
2011-01 - 304
2011-02 - 152
надо разбить его на части.. тоесть сформировать новый массив из значений суммы за 3 месяца.. тоесть получится так:
2009 01-03 - 538
2009 04-06 - 272
2009 07-09 - 152
2009 10-12 - 254
...
и т.д
Помогите ребята! думал использовать какой-нибудь из методов Enumerable.GroupBy только не могу придумать как там правильно сказать чтобы он группировал по 3 элемента..
Решение задачи: «Разбить массив»
textual
Листинг программы
// Получаем номер квартала (0 ... 3) из номера месяца (int.Parse(kvp.Key.Substring(5))-1)/3 // Формируем ключ в виде "год квартал" kvp => kvp.Key.Substring(0,4) + " " + names[(int.Parse(kvp.Key.Substring(5))-1)/3] // Группируем значения по кварталу и году GroupBy(kvp => kvp.Key.Substring(0,4) + " " + names[(int.Parse(kvp.Key.Substring(5))-1)/3], kvp => kvp.Value) // Формируем словарь где ключом является ключ группировки (в виде "год квартал"), а значением сумма величин .ToDictionary(g => g.Key, g => g.Sum());
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д