什么是更快的收集。插入(0,newItem)与列表。添加(newItem)+;在Winforms ListView C#中排序?

什么是更快的收集。插入(0,newItem)与列表。添加(newItem)+;在Winforms ListView C#中排序?,c#,winforms,sorting,C#,Winforms,Sorting,我有一个ListView,我需要通过添加一个项目来更新它。使用.Add()将其放置在底部。因此,我可以按插入时间对其进行排序(这是字段之一)。另一个选项是使用Collection.Insert(0,newItem),将其置于顶部,并将所有内容向下移动一个索引 在某个地方读到集合。插入(0,newItem)对于更大的移位列表b/c可能比较慢。 如果是这样的话,什么会更快?收集还是添加+排序 还是有别的办法 谢谢。如果要向用户显示您的列表,它可能不会太大,以至于性能差异不明显。可能使用上下文中更合理

我有一个ListView,我需要通过添加一个项目来更新它。使用
.Add()
将其放置在底部。因此,我可以按插入时间对其进行排序(这是字段之一)。另一个选项是使用
Collection.Insert(0,newItem)
,将其置于顶部,并将所有内容向下移动一个索引

在某个地方读到
集合。插入(0,newItem)
对于更大的移位列表b/c可能比较慢。 如果是这样的话,什么会更快?收集还是添加+排序

还是有别的办法


谢谢。

如果要向用户显示您的列表,它可能不会太大,以至于性能差异不明显。可能使用上下文中更合理的选项。

除非您有数百万项,否则这无关紧要,您只需进行预优化,任何一项都可以。如果您有数百万个项目,那么您向用户显示的项目太多。

插入将比添加+排序快,因为如果您的列表已经排序,则排序将涉及不必要的比较。但正如其他人所说,这可能并不重要。

您要添加多少项?创建一个简单的
单元测试
插入/添加
s数千项…@Oded在一个会话中>连续1000项?多久?1000,甚至10000都不是那么多。你不太可能看到不同。