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

本文关键字:文件 问题 性能 计算 IO System Directory GetFiles 使用 | 更新日期: 2023-09-27 18:02:26

我在c#程序中使用

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

用于计算共享中目录(及其子目录)中的文件数。我对一个循环中的许多目录都这样做。现在的问题是,在20-30次GetFiles(...).Length调用后,我的程序突然冻结或变得非常缓慢。造成这种情况的原因是什么?如何解决这个问题?有没有变通的办法?

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

看看http://www.codeproject.com/KB/files/FastDirectoryEnumerator.aspx。也许这篇文章对你有帮助。

您确定您没有以某种方式存储以前调用的结果,使应用程序内存不足吗?在任务管理器的进程选项卡中检查应用程序的内存分配