小弟现在遇到一个难题,目的:
win7下,我的代码中需要用一个界面显示一个路径下所有的文件和文件夹,创建时间,文件类型,文件属性和文件夹属性。问题:
当路径下文件和文件夹数量比较多的时候,进入这个路径会非常慢。我现在使用的是串行的枚举方法进行显示。有没有更高效的方法解决,文件数量多了显示慢的问题。
小弟跪求。
win7下,我的代码中需要用一个界面显示一个路径下所有的文件和文件夹,创建时间,文件类型,文件属性和文件夹属性。问题:
当路径下文件和文件夹数量比较多的时候,进入这个路径会非常慢。我现在使用的是串行的枚举方法进行显示。有没有更高效的方法解决,文件数量多了显示慢的问题。
小弟跪求。
解决方案 »
- 求教调用类函数的问题
- window.opener.location.href 与window.opener.location区别
- asp.net 2.0 c# 数据库到session
- | 问题
- 传递参数给main函数后 这个参数要在窗体里面使用到的 该怎么办
- 怎样将一个OLE对象添加到RichTextBox之中?
- 怎样用C#实现一个最简单的非巨型窗口(在线等待...)
- WinForm程序,可编辑下拉列表中输入文本,然后用Tab键跳转到下一个控件,发现刚才下拉列表的值变为空了,怎么解决?
- 请问谁知道“电子签章”的实现原理啊?或者大体的思想,谢谢了(在线)
- 请教 关于使用DataAdapter 和 DataSet 更新数据库
- usb wirtefile的时候,出现蓝屏
- winform程序执行差异备份
不知道你说的慢是哪个层次的慢。
慢分两种:
1、程序卡死时间比较长,比如20秒或者1分钟后才有反应;
2、程序一直有反应,但列表一直在增加,等到列表完全加载完成需要时间很长,比如20秒或者1分钟。多线程或者异步的方法,只能解决第一个问题,不能解决第二个问题。
同时还有一种情况连第一个问题都解决不了,就是列表在不停增加的时候,本身就会造成程序反应缓慢(不是卡死)。如果需要解决上述问题,需要在使用策略上做文章。一般来说,一个目录下的文件不会特别多,那么可以采用单个目录的响应显示。即选了哪个目录,就显示哪个目录下的。
如果确实需要显示一个目录下的可能非常多的(上万或者几万)条目,可以给一个提示:你正在递归显示目录,可能需要等待几分钟,然后再用卡死的方式获取(这样效率相对较高,速度比异步的能快一点点)。纯技术的直接解决方案往往不会很容易达到要求。