我有两个IList<Traffic>
我需要组合。C#Linq按键组合多个序列
交通是一个简单的类:
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) });
上述作品中的例子,十分感谢您的投入:-)
嗯我想我应该写的 - 时间不保证在任何列表中都是唯一的。为了清楚起见,我会更新这个问题。 – Steffen 2011-03-04 09:48:12
@Steffen:在这一点上,如果你能够给出一个输入和期望输出的样本,那么这真的很有帮助。 – 2011-03-04 09:52:32
增加了一个工作示例,感谢您的输入。 – Steffen 2011-03-04 10:04:27