其他分享
首页 > 其他分享> > 练习下递归删除

练习下递归删除

作者:互联网

 1         /// <summary>
 2         /// 删除按钮
 3         /// </summary>
 4         /// <param name="sender"></param>
 5         /// <param name="e"></param>
 6         private void button1_Click(object sender, EventArgs e)
 7         {
 8             Del("D://test");
 9         }
10 
11         /// <summary>
12         /// 删除文件
13         /// </summary>
14         /// <param name="path"></param>
15         private void DelFile(string path)
16         {
17             DirectoryInfo dir = new DirectoryInfo(path);
18             foreach (var item in dir.GetFiles())
19             {
20                 File.Delete(item.FullName);
21             }
22         }
23 
24         /// <summary>
25         /// 删除目录(递归删除后的空目录)
26         /// </summary>
27         /// <param name="path"></param>
28         private void Del(string path)
29         {
30             DelFile(path);//1、删除第一级目录下的文件
31             //2、递归目录下的所有目录
32             DirectoryInfo test = new DirectoryInfo(path);
33             foreach (var item in test.GetDirectories())
34             {
35                 Del(item.FullName);
36                 Directory.Delete(item.FullName);
37             }        
38         }

其实上面的代码一行就可以搞定:   Directory.Delete(path,true);

递归其实很常用,可以拓展到递归下载服务器上的文件,我做过的项目,自动更新功能目前就是到服务器上递归下载文件来实现的

很多东西经常不用容易疏忽,脑袋不思考也容易迟钝,多多敲下代码熟悉感觉,从简单的做起

标签:递归,删除,void,练习,DirectoryInfo,item,path
来源: https://www.cnblogs.com/Tim-Zhang/p/12180626.html