您的位置:首页 > 编程语言 > C#

c# 使用递归遍历所有文件目录

2018-10-28 21:42 2979 查看

直接上代码

  

public class IOStudy
{
/// <summary>
/// 递归 耗内存
/// 会保存执行的上下文
/// </summary>
/// <param name="path"></param>
public static List<DirectoryInfo> FileRecursion(string path)
{
List<DirectoryInfo> directoryInfos = new List<DirectoryInfo>();

if (!Directory.Exists(path))
{
return directoryInfos;
}
DirectoryInfo directoryInfo = new DirectoryInfo(path);

GetDirectorie(directoryInfos, directoryInfo);
return directoryInfos;
}

/// <summary>
/// 循环调用
/// </summary>
/// <param name="directoryInfos"></param>
/// <param name="directoryInfo"></param>
private static void GetDirectorie(List<DirectoryInfo> directoryInfos, DirectoryInfo directoryInfo)
{
var dires = directoryInfo.GetDirectories();
directoryInfos.AddRange(dires);
foreach (var dic in dires)
{
//调用本身
GetDirectorie(directoryInfos, dic);
}
}
}

执行结果:

 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: