/// <summary>/// 遍历文件夹及其子文夹中指定后缀文件/// </summary>/// <param name="rootDirectory">文件夹路径</param>/// <param name="searchPattern">文件后缀</param>/// <returns></returns>public static List<string> SearchFiles(string rootDirectory, string searchPattern){List<string> filePaths = new List<string>();// 使用Queue处理待处理的子目录Queue<string> queue = new Queue<string>(Directory.GetDirectories(rootDirectory));while (queue.Count > 0){string currentDir = queue.Dequeue();// 将当前目录中符合搜索模式的文件路径添加到结果列表中string[] files = Directory.GetFiles(currentDir, searchPattern);filePaths.AddRange(files);// 将当前目录的子目录加入队列,以便进一步搜索foreach (string subDir in Directory.GetDirectories(currentDir)){queue.Enqueue(subDir);}}return filePaths;}