微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用 Directory.EnumerateFiles()

如何解决使用 Directory.EnumerateFiles()

我正在使用 Directory.EnumerateFiles() 遍历代码中的特定目录。我只需要目录中存在的每个文件文件名,但文件数量可能很大。根据 MSDN 和其他各种来源,我们看到它提到“当您使用 EnumerateFiles 时,您可以在返回整个集合之前开始枚举名称集合。当您使用 GetFiles 时,您必须等待整个数组在访问数组之前要返回的名称",here

所以,我在我的机器上做了一些实验。

var files = Directory.EnumerateFiles(path);
foreach(var file in files)
{
}

在开始迭代之前我有一个调试器,即在 foreach。我看到 files (返回的字符串枚举)包含我目录中的所有条目。为什么这个?这是预期的吗?

在其他一些来源上,我看到我们需要有一个单独的任务来进行迭代,同时在另一个处理线程中,可以迭代可枚举,example。我正在寻找类似的东西:认情况下获取枚举器,假设前 200 个文件。连续调用 MoveNext(),即当第 201 个项目被访问时,获取下一批文件

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。