Поиск файлов по нескольким разделам - C#

Узнай цену своей работы

Формулировка задачи:

Помогите пожалуйста переделать код, чтобы поиск был по нескольким разделам с несколькими расширениями. Т.е. искало на диске A, B, C по расширению jpg, png, bmp, jpeg.
class Program
    {
        static void Main(string[] args)
        {
 
            IEnumerable<string> MyFiles = SafeEnumerateFiles(@"F:", "*.jpg", SearchOption.AllDirectories);
            foreach (string fileName in MyFiles)
                
            {
                   
                    Console.WriteLine(fileName);

            }
            Console.ReadKey();
        }

        private static IEnumerable<string> SafeEnumerateFiles(string path, string searchPattern, SearchOption searchOption)
        {
            Stack<string> dirs = new Stack<string>();
            dirs.Push(path);
 
            while (dirs.Count > 0)
            {
                string currentDirPath = dirs.Pop();
                if (searchOption == SearchOption.AllDirectories)
                {
                    try
                    {
                        string[] subDirs = Directory.GetDirectories(currentDirPath);
                        foreach (string subDirPath in subDirs)
                        {
                            dirs.Push(subDirPath);
                        }
                    }
                    catch (UnauthorizedAccessException)
                    {
                        continue;
                    }
                    catch (DirectoryNotFoundException)
                    {
                        continue;
                    }
                }
 
                string[] files = null;
                try
                {
                    files = Directory.GetFiles(currentDirPath, searchPattern);
                }
                catch (UnauthorizedAccessException)
                {
                    continue;
                }
                catch (DirectoryNotFoundException)
                {
                    continue;
                }
 
                foreach (string filePath in files)
                {
                    yield return filePath;
                }
            }
        }
 
    }

Решение задачи: «Поиск файлов по нескольким разделам»

textual
Листинг программы
p.AddFile(fileName, "");

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 4.091 из 5