1

嘿,我试图创建目录中所有文件的名称(带扩展名)列表,以及所有文件中的所有文件,但我需要使用递归算法。我不确定我是否走在正确的轨道上!!!对 C# 很陌生

4

1 回答 1

4

我通常用队列做这种事情:

// Make sure rootDir exists first...

var files = new List<string>();
var dirs = new Queue<string>();
dirs.Enqueue(rootDir);

while(dirs.Count > 0 ) {

  var dir = dirs.Dequeue();

  foreach( var fileName in Directory.GetFiles(dir) ) {
    files.Add(fileName);
  }

  foreach( var subDir in Directory.GetDirectories(dir) ) {
    dirs.Enqueue(subDir);
  }
}

// Now populate your list with the files collection.
于 2013-02-28T06:49:23.740 回答