【发布时间】:2013-06-06 11:44:44
【问题描述】:
假设我有两个列表视图,称为 A 和 B。我用 20 个项目填充 A,几分钟后,我也用 20 个项目填充 B。两个列表都包含完全不同的数据,没有重复。
现在,出于某种我们不知道的原因,我很想将 B 中的内容添加到列表视图 A。当然,我可以使用简单的 ForEach 循环来完成此操作,我会遍历 B 中的每个项目并将其添加到 A。
但这需要时间和处理能力!真正的旧系统(想想蹩脚的 CE 手持设备)肯定会求饶!于是我开始思考,如果有办法一次性合并 B 的 listviewcollection 和 A 的 listviewcollection 呢?
是否可以在没有ForEach 循环的情况下合并两个列表视图集合?
【问题讨论】:
-
您使用的是什么版本的 .net?这两个列表包含多少项? B 中的某些项目是否已经在 A 中,需要过滤掉以避免重复?
-
我对问题进行了一些更新,以提供您问题中要求的信息。
-
您可能不会获得任何性能,因为即使使用
AddRange方法也可能非常慢。在某种程度上,必须有人添加到集合中。我发现手动操作通常会更好...将两个集合变成一种友好的格式,合并,然后清除原始集合并添加回新合并的集合。正如@allo_man 所建议的那样,您可能还想做其他事情,这样您就可以完全控制。