Directory.EnDigateFiles与Directory.GetFiles之间有什么区别?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (41)

Directory.EnumerateFileGetFiles什么区别?

很明显,一个返回一个数组,另一个返回Enumerable。

还有别的吗?

提问于
用户回答回答于

文档

EnumerateFiles和GetFiles方法的区别如下:使用EnumerateFiles时,可以在返回整个集合之前开始枚举名称集合; 当您使用GetFiles时,您必须等待返回数组之前返回整个名称数组。因此,当您使用许多文件和目录时,EnumerateFiles可以更高效。

所以基本上,EnumerateFiles返回一个IEnumerable可以稍微延迟评估的数据,而GetFiles返回的string[]数据必须在返回之前完全填充。

用户回答回答于

EnumerateFiles返回IEnumerable<string>这意味着推迟执行。它只在FX4和更高版本中提供。

扫码关注云+社区