在C#中快速排序列表视图

时间:2014-04-15 14:17:02

标签: c# wpf listview sorting optimization

我对C#很新,并且暂时遇到问题。

我有一个包含列表视图的程序,列表视图有时可以从sql server数据库中读取,填充和排序10,000条记录。我目前正在尝试优化我的代码以改善整体运行时间和效率,因此决定使用排序方法。

从我的研究和过去的知识中我知道有大量的排序算法,我最感兴趣的是快速排序,从我的理解它不是最准确的但是顾名思义,最快。

我想要对列表视图实现快速排序的一种方法是以某种方式将所有listviewitems(记录)插入到通用列表中,然后使用lambda表达式在列表中对它们进行排序,然后将所有这些项目添加回来进入列表视图。这应该可以防止代码在IComparer类和列表视图之间来回跳转以对项进行排序。

TLDR:

如何将所有listviewitems插入到List中,然后可以使用快速排序算法? 是否有更好的解决方案在最短的时间内对列表视图进行排序?

非常感谢任何帮助,提前谢谢!

1 个答案:

答案 0 :(得分:1)

10000条记录可以将大量数据一次性转储到屏幕上。考虑服务器端分页。

http://www.codeproject.com/Articles/485531/ASP-NET-Pagination

提供的示例适用于ASP.NET,但您应该能够为MVC和winforms使用类似的方法。