练习下递归删除
作者:互联网
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