欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

将文件夹下所有文件输出到日志文件中 c#递归算法学习示例

程序员文章站 2024-02-25 11:41:16
算法文章,总是带给我们无穷的思考和兴趣,一个问题,多种解决方法,看你如何去思考它,对于标题所引出的问题,我觉得,使用递归是比较有效的方法,当然递归还有很多使用场合,如树型分...

算法文章,总是带给我们无穷的思考和兴趣,一个问题,多种解决方法,看你如何去思考它,对于标题所引出的问题,我觉得,使用递归是比较有效的方法,当然递归还有很多使用场合,如树型分类列表的操作等等。

注意:

使用递归时,初学者要特别注意的就是“出口”,必须为递归提供一个出口,否则你的内存就要溢出了,呵呵,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();
        }