将元素添加到列表的递归方法

use*_*438 2 c# recursion list

我想获取一个文件夹的所有子目录的列表,包括嵌套的目录。
因此,我希望list<Folder> myList使用递归方法来填充。

 void myMethod(?)  
 {
   list<Folder> listFolders = ...  ;
   foreach (Folder curFolder in listFolders)
      {
        myList.add(curFolder);
      }
 }
Run Code Online (Sandbox Code Playgroud)

可能吗?

sam*_*amy 8

声明这样的功能

List<Folder> ListFolders(Folder initialFolder)
{
    var folders = new List<Folder>();
    folder.Add(initialFolder);
    foreach (var f in initialFolder.GetSubFolders())
    {
        folders.AddRange(ListFolders(f));
    }
    return folders;
}
Run Code Online (Sandbox Code Playgroud)

Folder班是留给您作为exercice,它必须包含当前文件夹的名称,以及一个方法来获得其子文件夹(提示:看入System.IO.Directory类)