让Directory.GetFiles一次返回一个文件?(.净)

bil*_*lpg 11 .net directory getfiles

我有一个包含太多文件的文件夹,我想逐个浏览每个文件.问题是Directory.GetFiles返回一个已完成的数组,这需要太长时间.

我宁愿有一个对象,我会指向一个文件夹,然后调用一个函数,返回文件夹中的下一个文件..NET有这样的类吗?

(我更愿意避免使用win32,因为我打算在Mono上使用它.)

非常感谢.

Jon*_*eet 8

你不能在.NET 3.5中这样做,但你可以在.NET 4.0中,根据这篇博文:

DirectoryInfo directory = new DirectoryInfo(@"\\share\symbols");
IEnumerable<FileInfo> files = directory.EnumerateFiles();
foreach (var file in files) {
    Console.WriteLine("Name={0}, Length={1}", file.Name, file.Length);
}
Run Code Online (Sandbox Code Playgroud)

(同样,这是一种静态Directory.EnumerateFiles方法.)

我不知道该API是否已移植到Mono.