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

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

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

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

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

textual
Листинг программы
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;
        }
    }
}

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


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

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

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