Я пытаюсь найти файл в заданном каталоге. Я должен найти файл из самого внутреннего каталога, и если не найден рекурсивно, то 1 шаг вверх.Найти файл из innermost в внешний каталог (рекурсивный)
Ex: Итерация 1: Поиск файла: D: \ Folder1 \ Folder2 \ folder3 \ Folder4
Ex: Итерация 2: Поиск файла: D: \ Folder1 \ Folder2 \ folder3 \
Ex: Итерация 3: Поиск файла: D: \ Folder1 \ Folder2 \
Мой код:
private string findTheFile(string path)
{
string[] files = Directory.GetFiles(path, "filename.txt", SearchOption.TopDirectoryOnly);
if (files.Length == 1)
return files[0].ToString(); //File found, return the file's path.
else
findTheFile(Path.GetDirectoryName(path));// File not found, recursively search the parent folder.
return null; // Return null if file not found.
}
Что происходит: Код работает в одну сторону, то есть местоположение файла найдено. Но вместо того, чтобы возвращать значение, элемент управления продолжается до части else.
Прошу вас, если я поступил не так.
Спасибо заранее!
Это работало, все, что мне нужно было сделать в другой части, не вызывало функцию напрямую. Но используйте оператор return. Благодаря!! – user3686904
@ user3686904: Удачи ;-) –