У меня есть два IList<Traffic>
Мне нужно объединить.
Трафик - это простой класс:
class Traffic
{
long MegaBits;
DateTime Time;
}
Каждый IList
содержит одинаковые времена, и мне нужен один IList<Traffic>
, где я суммировал Мегабиты, но сохранил время как ключ.
Возможно ли это с помощью Linq?
РЕДАКТИРОВАТЬ:
Я забыл упомянуть, что времяне обязательно уникален ни в одном списке, несколько экземпляров Traffic
могут иметь одинаковое время.
Также я мог бы столкнуться с X списками (более 2), я должен был упомянуть и это - извините: -(
ПРИМЕР:
IEnumerable<IList<Traffic>> trafficFromDifferentNics;
var combinedTraffic = trafficFromDifferentNics
.SelectMany(list => list)
.GroupBy(traffic => traffic.Time)
.Select(grp => new Traffic { Time = grp.Key, MegaBits = grp.Sum(tmp => tmp.MegaBits) });
Приведенный выше пример работает, поэтому спасибо за ваш ввод: -)