在C#中,使用多个过滤器调用Directory.GetFiles()
方法可以通过多次调用该方法,并结合 LINQ 查询来实现。以下是一个详细的实例源代码,演示如何使用多个过滤器获取文件列表:
using System;
using System.IO;
using System.Linq;
class Program
{
static void Main()
{
string directoryPath = @"C:\YourDirectoryPath";
// 定义多个过滤器
string[] filters = { "*.txt", "*.jpg", "*.pdf" };
// 调用 GetFiles 方法,并合并结果
string[] files = GetFilesWithMultipleFilters(directoryPath, filters);
// 打印结果
Console.WriteLine("符合过滤条件的文件列表:");
foreach (var file in files)
{
Console.WriteLine(file);
}
}
static string[] GetFilesWithMultipleFilters(string directoryPath, string[] filters)
{
// 使用 LINQ 查询,遍历每个过滤器,获取符合条件的文件
var files = filters.SelectMany(filter =>
Directory.GetFiles(directoryPath, filter)
).ToArray();
return files;
}
}
方法原理:
GetFilesWithMultipleFilters
方法接收目录路径和过滤器数组。SelectMany
遍历每个过滤器,调用 Directory.GetFiles
获取符合条件的文件。此示例演示如何使用 LINQ 查询结合多个过滤器,以一次性获取目录中符合多个条件的文件列表。这种方法更灵活,允许根据具体需求动态指定过滤器。