更快的Directory.GetFiles()

时间:2013-07-09 16:34:49

标签: c#

当我运行此功能时,有时需要几分钟才能找到10个左右的文件。问题是什么?我创建了这个函数:

public static List<string> FindFiles(string sFilename, string sDir, SearchOption soOption = SearchOption.AllDirectories)
{
    List<string> lFiles = new List<string>(Directory.GetFiles(sDir, sFilename, soOption));
    return lFiles;
}

为什么这么慢?还有另一种方法可以完成相同的事情(在目录中查找文件)吗?

1 个答案:

答案 0 :(得分:2)

如果您是.NET 4+,那么您可以尝试 Directory.EnumerateFiles 。它会更快地返回,但我认为代码运行的总时间仍然或多或少相同。