需要搜索目录/子目录来查找文件,希望它在找到文件后停止。
这是我缺少的 DirectoryInfo.GetFiles 内置功能,还是应该使用其他功能(自行实现的递归搜索)?
Use DirectoryInfo.EnumerateFiles()相反,它是延迟返回文件(而不是GetFiles
首先将完整的文件列表放入内存) - 您可以添加FirstOrDefault()
实现你想要的:
var firstTextFile = new DirectoryInfo(someDirectory).EnumerateFiles("*.txt")
.FirstOrDefault();
来自 MSDN:
EnumerateFiles 和 GetFiles 方法的区别如下:
使用EnumerateFiles,你可以开始枚举集合
返回整个集合之前的 FileInfo 对象;当你使用
GetFiles,您必须等待整个 FileInfo 对象数组被获取
在您可以访问数组之前返回。因此,当你在
使用许多文件和目录,EnumerateFiles 可以更多
高效的。
(DirectoryInfo.EnumerateFiles
需要.NET 4.0)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)