EnumerateFiles()在.NET 3.5中等效

EnumerateFiles()在.NET 3.5中等效,.net,io,lazy-loading,.net,Io,Lazy Loading,我正在尝试使用.NET 3.5和PowerShell清理目录中超过150K的文件。由于文件太多,我不想通过一次读取所有文件来影响服务器性能。是否有任何与.NET 3.5或PowerShell相关的机制或通过PInvoke访问的方法允许我延迟加载文件?感谢您的帮助。如果“加载”是指以惰性方式获取目录中的文件列表,则您有两种选择。 从.NET4.0开始,您可以使用新的API获取特定目录中的文件流(惰性)序列。搜索按需返回项目,因此不需要像现有的GetFiles方法那样多的内存 如果您不能使用.NET

我正在尝试使用.NET 3.5和PowerShell清理目录中超过150K的文件。由于文件太多,我不想通过一次读取所有文件来影响服务器性能。是否有任何与.NET 3.5或PowerShell相关的机制或通过PInvoke访问的方法允许我延迟加载文件?感谢您的帮助。

如果“加载”是指以惰性方式获取目录中的文件列表,则您有两种选择。

从.NET4.0开始,您可以使用新的API获取特定目录中的文件流(惰性)序列。搜索按需返回项目,因此不需要像现有的GetFiles方法那样多的内存


如果您不能使用.NET4,那么您必须使用自己的流文件枚举器。这需要使用和Win32 API。不过,您可以看看CodeProject,因为它似乎就是这样。

谢谢您的回答。我们还不能使用.NET4.0,我认为如果我们真的想使用,第二个选项就可以了。