Не работает поиск файлов - C#

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

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

Не работает поиск файлов только, если выбираю папку, если выбрать только локальный диск например "D", то пишет ошибку
Листинг программы
  1. disk = tbView.Text;
  2. string[] dirs = Directory.GetFiles(@"" + disk + "", "*", SearchOption.AllDirectories);

Решение задачи: «Не работает поиск файлов»

textual
Листинг программы
  1. private static IEnumerable<string> SafeEnumerateFiles(string path, string searchPattern, SearchOption searchOption)
  2. {
  3.     Stack<string> dirs = new Stack<string>();
  4.     dirs.Push(path);
  5.  
  6.     while (dirs.Count > 0)
  7.     {
  8.         string currentDirPath = dirs.Pop();
  9.         if (searchOption == SearchOption.AllDirectories)
  10.         {
  11.             try
  12.             {
  13.                 string[] subDirs = Directory.GetDirectories(currentDirPath);
  14.                 foreach (string subDirPath in subDirs)
  15.                 {
  16.                     dirs.Push(subDirPath);
  17.                 }
  18.             }
  19.             catch (UnauthorizedAccessException)
  20.             {
  21.                 continue;
  22.             }
  23.             catch (DirectoryNotFoundException)
  24.             {
  25.                 continue;
  26.             }
  27.         }
  28.  
  29.         string[] files = null;
  30.         try
  31.         {
  32.             files = Directory.GetFiles(currentDirPath, searchPattern);
  33.         }
  34.         catch (UnauthorizedAccessException)
  35.         {
  36.             continue;
  37.         }
  38.         catch (DirectoryNotFoundException)
  39.         {
  40.             continue;
  41.         }
  42.  
  43.         foreach (string filePath in files)
  44.         {
  45.             yield return filePath;
  46.         }
  47.     }
  48. }

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


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

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

9   голосов , оценка 3.889 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут