0

假设我有两个列表视图,称为 A 和 B。我用 20 个项目填充 A,几分钟后,我也用 20 个项目填充 B。两个列表都包含完全不同的数据,没有重复。

现在,出于某种我们不知道的原因,我疯狂地将 B 中的内容添加到列表视图 A。当然,我可以使用一个简单的循环来执行此操作,在该ForEach循环中,我遍历 B 中的每个项目并将其添加到 A。

但这需要时间和处理能力!真正的旧系统(想想糟糕的 CE 手持设备)肯定会求饶!所以我开始思考,如果有一种方法可以一次性将 B 的 listviewcollection 与 A 的 listviewcollection 合并呢?

ForEach是否可以在没有循环的情况下合并两个列表视图集合?

4

1 回答 1

1

就像是:

MyLvCollection.Items.AddRange( 
MyOtherLvCollection.Select(wi => new ListViewDataItem( 
    wi.Name, new string[]{wi.ID.ToString()} ) ).ToArray() );

编辑:如果您真的希望它在客户端执行(而不是 Web 服务等)...然后考虑使用CompositeCollection,不知道它的性能,但似乎是使用 XAML 之类的解决方案来解决您的困境。

于 2013-06-06T11:50:05.403 回答