您可以使用 Linq 进行过滤:
var searchExtensions = new string[] { ".mp4", ".mpg", ".avi", ".mpeg" };
var files = d.EnumerateFiles()
.Where(f => searchExtensions.Contains(Path.GetExtension(file))
.ToList();
或者在查询语法中:
var searchExtensions = new string[] { ".mp4", ".mpg", ".avi", ".mpeg" };
var files =
(from file in d.EnumerateFiles()
where searchExtensions.Contains(Path.GetExtension(file))
select file)
.ToList();
另一种解决方案是建立您的文件列表而不是过滤它:
var searchPatterns = new string[] { "*.mp4", "*.mpg", "*.avi", "*.mpeg" };
var files = searchPatterns.SelectMany(p => d.EnumerateFiles(p))
.ToList();
或者在查询语法中:
var searchPatterns = new string[] { "*.mp4", "*.mpg", "*.avi", "*.mpeg" };
var files =
(from pattern in searchPatterns
from file in d.EnumerateFiles(pattern))
select file)
.ToList();