Как рекурсивно перечислить все файлы в каталоге на C#?

This article охватывает все, что вам c# нужно. За исключением поиска visual-c# файлов и сравнения имен, просто c#-language распечатайте имена.

Его можно visual-c# изменить так:

static void DirSearch(string sDir)
{
    try
    {
        foreach (string d in Directory.GetDirectories(sDir))
        {
            foreach (string f in Directory.GetFiles(d))
            {
                Console.WriteLine(f);
            }
            DirSearch(d);
        }
    }
    catch (System.Exception excpt)
    {
        Console.WriteLine(excpt.Message);
    }
}

Добавил barlop

GONeale упоминает, что .cs-file приведенное выше не перечисляет .cs-file файлы в текущем каталоге, и dotnet предлагает поместить часть visual-c# списка файлов вне части, которая dot-net получает каталоги. Следующее c#-language сделает это. Он также включает c-sharp строку Writeline, которую visual-c# вы можете раскомментировать, которая .cs-file помогает отслеживать, где .net-framework вы находитесь в рекурсии, что dotnet может помочь показать вызовы, чтобы visual-c# помочь показать, как работает c#.net рекурсия.

            DirSearch_ex3("c:\\aaa");
            static void DirSearch_ex3(string sDir)
            {
                //Console.WriteLine("DirSearch..(" + sDir + ")");
                try
                {
                    Console.WriteLine(sDir);

                    foreach (string f in Directory.GetFiles(sDir))
                    {
                        Console.WriteLine(f);
                    }

                    foreach (string d in Directory.GetDirectories(sDir))
                    {
                        DirSearch_ex3(d);
                    }
                }
                catch (System.Exception excpt)
                {
                    Console.WriteLine(excpt.Message);
                }
            }

c#

.net

2022-11-01T11:02:10+00:00