将文件夹下所有文件输出到日志文件中 c#递归算法学习示例
算法文章,总是带给我们无穷的思考和兴趣,一个问题,多种解决方法,看你如何去思考它,对于标题所引出的问题,我觉得,使用递归是比较有效的方法,当然递归还有很多使用场合,如树型分类列表的操作等等。
注意:
使用递归时,初学者要特别注意的就是“出口”,必须为递归提供一个出口,否则你的内存就要溢出了,呵呵,memory overflow大家肯定都见过,都是从那时候过来的,呵呵。
代码中的递归:
static void getfiles(list<string> arr, string dir)
{
arr.addrange(directory.getfiles(dir));
var subdir = directory.getdirectories(dir).tolist();
if (subdir != null && subdir.count > 0)
subdir.foreach(j =>
{
getfiles(arr, j);
});
}
程序入口
static void main(string[] args)
{
string path = "f:\\softmare\\fiddler2汉化";
var obj = filesync(path);
using (system.io.streamwriter srfile = new system.io.streamwriter(path + "\\filelist.txt"))
{
obj.foreach(i =>
{
srfile.writeline(i);
});
}
console.writeline("填充完成");
console.readkey();
}