使用System.IO.Directory.GetFiles()计算文件的性能问题

时间:2011-07-19 12:50:54

标签: c# performance .net system.io.directory

我在C#程序中使用

System.IO.Directory.GetFiles(dirname, "*.*", System.IO.SearchOption.AllDirectories).Length;

计入共享上目录(及其子目录)中的文件数。我为循环中的许多目录执行此操作。 现在的问题是,在GetFiles(...).Length 20到30次调用之后,我的程序突然被冻结或变得非常慢。 可能是什么原因以及如何解决这个问题!有解决方法吗?

2 个答案:

答案 0 :(得分:7)

看看http://www.codeproject.com/KB/files/FastDirectoryEnumerator.aspx。 Mybe这篇文章会帮助你。

答案 1 :(得分:0)

你确定你没有以某种方式存储以前的通话结果,使你的应用程序在内存上挨饿吗?在任务管理器的进程选项卡中检查应用程序的内存分配。