我正在尝试使用该Directory.GetFiles()方法来检索多种类型的文件列表,例如mp3和jpg。我没有运气就尝试了以下两种方法:
Directory.GetFiles()
mp3
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"));
编辑: 请阅读评论。 Paul Farry建议的改进以及Christian.K指出的内存/性能问题都很重要。