小编典典

您可以使用多个过滤器调用 Directory.GetFiles() 吗?

all

我正在尝试使用该Directory.GetFiles()方法来检索多种类型的文件列表,例如mp3‘s
jpg‘s。我尝试了以下两种方法,但都没有运气:

Directory.GetFiles("C:\\path", "*.mp3|*.jpg", SearchOption.AllDirectories);
Directory.GetFiles("C:\\path", "*.mp3;*.jpg", SearchOption.AllDirectories);

有没有办法在一个电话中做到这一点?


阅读 114

收藏
2022-03-23

共1个答案

小编典典

对于 .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"));
2022-03-23