gpt4 book ai didi

c# - x 深度的所有文件夹和文件的列表

转载 作者:行者123 更新时间:2023-11-30 19:12:43 25 4
gpt4 key购买 nike

我想要 x 深度的所有文件夹和文件的列表。

如果 x 为 2,那么我将获得有关第一个文件夹中的所有文件夹和文件的信息,以及第一个文件夹中的文件夹中的所有文件夹和文件的信息。

如何做到这一点?

最佳答案

此代码将执行其他答案正在执行的操作,但还会返回文件夹名称(因为这似乎是您所要求的内容的一部分)。这将需要 .Net 4.0。如果您希望跟踪哪些是文件夹,哪些是文件,您可以返回一个包含文件列表和文件夹列表的元组。

List<string> GetFilesAndFolders(string root, int depth)
{
var list = new List<string>();
foreach(var directory in Directory.EnumerateDirectories(root))
{
list.Add(directory);
if (depth > 0)
{
list.AddRange(GetFilesAndFolders(directory, depth-1));
}
}

list.AddRange(Directory.EnumerateFiles(root));

return list;
}

编辑:将文件夹和文件分开的代码

Tuple<List<string>,List<string>> GetFilesAndFolders(string root, int depth)
{
var folders = new List<string>();
var files = new List<string>();
foreach(var directory in Directory.EnumerateDirectories(root))
{
folders.Add(directory);
if (depth > 0)
{
var result = GetFilesAndFolders(directory, depth-1);
folders.AddRange(result.Item1);
files.AddRange(result.Item2);
}
}

files.AddRange(Directory.EnumerateFiles(root));

return new Tuple<List<string>,List<string>>(folders, files);
}

关于c# - x 深度的所有文件夹和文件的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6141648/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com