首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Directory.EnumerateFiles和Directory.GetFiles有什么不同?

Directory.EnumerateFiles和Directory.GetFiles有什么不同?
EN

Stack Overflow用户
提问于 2011-04-15 04:59:40
回答 2查看 55K关注 0票数 165

Directory.EnumerateFilesGetFiles的区别是什么

显然,一个返回数组,另一个返回Enumerable。

还要别的吗?

EN

回答 2

Stack Overflow用户

发布于 2011-04-15 05:01:52

EnumerateFiles返回IEnumerable<string>,这意味着延迟执行。它仅在Fx4和更高版本中可用。

由于文件系统的速度非常慢(尤其是对于大型文件夹),延迟执行对于顺序处理来说是一个真正的好处。这取决于许多其他因素。

票数 36
EN

Stack Overflow用户

发布于 2014-06-12 01:28:21

使用EnumerateFiles时,如果您随后使用.Last,则所有速度都会丢失。当然,这是有意义的,因为要访问最后一个文件,它需要枚举所有文件,然后获取最后一个文件。

然而,使用.First.FirstOrDefault变得非常快,因为它只是抓住第一个项目并继续前进。

票数 18
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5669617

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档