【发布时间】:2011-10-06 14:00:10
【问题描述】:
我有 2 个不同类别的 2 个列表。为此,我们可以称它们为 Foo 和 Bar。 Foos 列表包含每个 Foo 所属的 Bars。 Bars 列表包含 Bar 所属的所有 Foo。
我需要一种快速有效的方式来循环浏览两个列表并将每个项目添加到另一个列表中。
我目前正在使用:
// Add the List of Zones to the Vehicles
foreach (Foo foo in Program.data.Foos.list)
{
foreach (Bar bar in Program.data.Bars.list)
{
bar.Foos.Add(foo);
foo.Bars.Add(bar);
}
}
但是,对于我的数据集,我有 ~5000 Foos 和 ~5000 Bars。这需要大约 3 秒来迭代另一个最常见的 foreach 循环,而且似乎效率很低。
有没有更快的方法来做到这一点?可能与Linq?你们会建议什么来加快速度?还是我在速度方面碰壁了?
【问题讨论】: