Поиск файлов - 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))
{
// ...
}