为了账号安全,请及时绑定邮箱和手机立即绑定

Directory.EnumerateFiles与Directory.GetFiles有什么区别?

Directory.EnumerateFiles与Directory.GetFiles有什么区别?

慕的地10843 2019-11-27 14:06:09
Directory.EnumerateFilesvs和有GetFiles什么区别?显然,一个返回数组,另一个返回Enumerable。还要别的吗?
查看完整描述

3 回答

?
慕少森

TA贡献2019条经验 获得超9个赞

从文档:


EnumerateFiles和GetFiles方法的区别如下:使用EnumerateFiles时,可以在开始返回整个集合之前开始枚举名称集合;否则,您可以开始枚举名称集合。使用GetFiles时,必须等待返回整个名称数组,然后才能访问该数组。因此,当您处理许多文件和目录时,EnumerateFiles可能会更有效。


因此,基本上,EnumerateFiles返回值a IEnumerable可以稍作延迟评估,而GetFiles返回值a string[]必须先完全填充后才能返回。


查看完整回答
反对 回复 2019-11-27
?
慕哥6287543

TA贡献1831条经验 获得超10个赞

使用EnumerateFiles时,如果再使用,则所有速度都会丢失.Last。这当然是有道理的,因为要获取最后一个文件,将需要枚举所有文件,然后获取最后一个文件。

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


查看完整回答
反对 回复 2019-11-27
  • 3 回答
  • 0 关注
  • 2482 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信