什么是更快的collection.Insert(0,newItem)vs list.Add(newItem)+在Winforms ListView C#中排序?

时间:2012-02-01 17:20:18

标签: c# winforms sorting

我有一个ListView需要通过添加项目进行更新。使用.Add()会将其置于底部。所以我可以按插入时间(它是其中一个字段)对其进行排序。另一种选择是使用Collection.Insert(0, newItem)将其置于顶部并将所有内容移至一个索引。

读取Collection.Insert(0, newItem)对于更换列表的较大列表b / c可能较慢的某处。 如果是这样的话 - 什么会更快?收集或添加+排序?

还是有另一种方式吗?

感谢。

3 个答案:

答案 0 :(得分:3)

插入将比Add + Sort快,因为如果列表已经排序,排序将涉及不必要的比较。但正如其他人所说的那样,关心可能并不重要。

答案 1 :(得分:2)

除非您有数百万件物品,否则无关紧要,您只需预先优化,也可以。如果您确实有数百万个项目,那么您向用户展示了太多项目。

答案 2 :(得分:1)

如果您的列表将显示给用户,则可能不会大到足以使性能差异显着。可能会在上下文中使用更有意义的东西。