Поиск файлов - C# (179696)

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

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

Нашел метод поиска файлов, но не разберусь, что к чему, если кто может распишете в каментах где и что в нем происходит, спс.
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
Листинг программы
foreach (string fileName in SafeEnumerateFiles(@"C:\", "*.*", SearchOption.AllDirectories))
{
    // ...
}

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


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

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

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