Потеря данных при возврате из рекурсивного метода

class Program
{
    static string[] findDocument(string path)
    {
        DirectoryInfo fi = new DirectoryInfo(path);
        List<string> list = new List<string>();
        if (fi.Exists)
        {
            foreach (var e in fi.GetDirectories())
            {
                findDocument(e.FullName);
            }

            foreach (var e in fi.GetFiles())
            {
                if (e.Name == "password.txt")
                {
                    Console.WriteLine(e);
                    list.Add(Convert.ToString(e));
                }
            }
            
        }
        return list.ToArray();
    }
    static void Main(string[] args)
    {
        string[] directory = findDocument(@"C:\fa\test");
        Console.WriteLine("---");
        foreach (var e in directory)
        {
            Console.WriteLine(e);
        }

    }
}

Метод находит два пути и записывает их в список, а потом в массив но после того как я получаю этот массив там уже 1 путь


Ответы (0 шт):