我对C#很新,并且暂时遇到问题。
我有一个包含列表视图的程序,列表视图有时可以从sql server数据库中读取,填充和排序10,000条记录。我目前正在尝试优化我的代码以改善整体运行时间和效率,因此决定使用排序方法。
从我的研究和过去的知识中我知道有大量的排序算法,我最感兴趣的是快速排序,从我的理解它不是最准确的但是顾名思义,最快。
我想要对列表视图实现快速排序的一种方法是以某种方式将所有listviewitems(记录)插入到通用列表中,然后使用lambda表达式在列表中对它们进行排序,然后将所有这些项目添加回来进入列表视图。这应该可以防止代码在IComparer类和列表视图之间来回跳转以对项进行排序。
TLDR:
如何将所有listviewitems插入到List中,然后可以使用快速排序算法? 是否有更好的解决方案在最短的时间内对列表视图进行排序?
非常感谢任何帮助,提前谢谢!
答案 0 :(得分:1)
10000条记录可以将大量数据一次性转储到屏幕上。考虑服务器端分页。
http://www.codeproject.com/Articles/485531/ASP-NET-Pagination
提供的示例适用于ASP.NET,但您应该能够为MVC和winforms使用类似的方法。