问题描述
我们知道,在.NET/C#的程序开发中,可以通过Directory.GetFiles()方法获取到指定文件夹中所有的文件,同时,我们还可以指定一个需要过滤掉的文件类型的扩展名。但如何通过Directory.GetFiles()这个方法过滤掉多个文件类型的扩展名呢?
比如,我们需要过滤掉文件扩展名为*.mp3|*.jpg这两种文件,如:
Directory.GetFiles("C:\\path", "*.mp3|*.jpg", SearchOption.AllDirectories);
Directory.GetFiles("C:\\path", "*.mp3;*.jpg", SearchOption.AllDirectories);
.NET/C#应用程序开发中使用Directory.GetFiles()过滤多种文件扩展名类型有哪些方法呢?
方案一
在.NET 4.0 或者以上版本中,我们可以使用Directory.EnumerateFiles()方法来过滤多种文件类型,如下:
var files = Directory.EnumerateFiles("C:\\path", "*.*", SearchOption.AllDirectories)
.Where(s => s.EndsWith(".mp3") || s.EndsWith(".jpg"));
在.NET4.0 以前的版本中,我们可以使用如下方式:
var files = Directory.GetFiles("C:\\path", "*.*", Sear