我正在尝试使用Directory.GetFiles()
方法来检索多种类型的文件列表,例如mp3
's and jpg
的。我尝试过以下两种方法,但没有成功:
Directory.GetFiles("C:\\path", "*.mp3|*.jpg", SearchOption.AllDirectories);
Directory.GetFiles("C:\\path", "*.mp3;*.jpg", SearchOption.AllDirectories);
有没有一种方法可以在一次通话中完成此操作?
对于 .NET 4.0 及更高版本,
var files = Directory.EnumerateFiles("C:\\path", "*.*", SearchOption.AllDirectories)
.Where(s => s.EndsWith(".mp3") || s.EndsWith(".jpg"));
对于早期版本的 .NET,
var files = Directory.GetFiles("C:\\path", "*.*", SearchOption.AllDirectories)
.Where(s => s.EndsWith(".mp3") || s.EndsWith(".jpg"));
edit: 请阅读评论。改进之处在于保罗·法里 https://stackoverflow.com/users/97516/paul-farry建议,以及内存/性能问题克里斯蒂安·K https://stackoverflow.com/users/21567/christian-k指出两者都非常重要。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)