【发布时间】:2018-11-21 08:51:14
【问题描述】:
我正在尝试以递归方式获取给定目录中所有子目录的列表,因为现有命令显然不够好。 我可以成功获取目录,但似乎无法离开递归算法。我敢肯定,一定有一种我没有看到的简单方法。任何帮助都会很棒!
public static public void directorySearch(ref List<DirectoryInfo> subs, ref DirectoryInfo dir, ref List<FileInfo> fileEntries, ref int k)
{
do
{
foreach (DirectoryInfo elements in dir.GetDirectories())
{
subs.Add(elements);
}
k++;
DirectoryInfo fi = subs[k];
directorySearch(ref subs, ref fi, ref fileEntries, ref k);
} while (??????);
//This will be used once function is working to get files in all directories
/*
foreach (FileInfo f in dir.GetFiles()
{
fileEntries.Add(f);
}*/
}
【问题讨论】:
-
你为什么要通过
ref传递参数?只有k似乎需要它。 -
Subs 也是如此,除非我在函数中创建它。文件条目也是如此
-
不,
subs和fileEntries不需要ref。