Directory.EnumerateFiles
和GetFiles
的区别是什么
显然,一个返回数组,另一个返回Enumerable。
还要别的吗?
发布于 2011-04-15 05:01:52
EnumerateFiles
返回IEnumerable<string>
,这意味着延迟执行。它仅在Fx4和更高版本中可用。
由于文件系统的速度非常慢(尤其是对于大型文件夹),延迟执行对于顺序处理来说是一个真正的好处。这取决于许多其他因素。
发布于 2014-06-12 01:28:21
使用EnumerateFiles时,如果您随后使用.Last
,则所有速度都会丢失。当然,这是有意义的,因为要访问最后一个文件,它需要枚举所有文件,然后获取最后一个文件。
然而,使用.First
或.FirstOrDefault
变得非常快,因为它只是抓住第一个项目并继续前进。
https://stackoverflow.com/questions/5669617
复制相似问题