我试图列出在给定目录下的所有文件,同时考虑子目录以及帐户。我使用yield以便我可以在此处调用Take, (请注意,我正在使用.NET 3.5)。使用枚举查找文件夹中的所有文件
下面是我的代码:
IEnumerable<string> Search(string sDir)
{
foreach (var file in Directory.GetFiles(sDir))
{
yield return file;
}
foreach (var directory in Directory.GetDirectories(sDir))
{
Search(directory);
}
}
我不知道是怎么回事错,但它只返回一个文件(这是根目录下的一个,也是唯一有一个有作为好)。你能帮忙吗?
不要重新发明轮子。使用'Directory.EnumerateFiles'和'Directory.EnumerateDirectories'。 – Oded
噢,你不是'搜索(目录)'的回报,这可能是这里的一个问题。 – Oded
感谢Oded..will Directory.EnumerateFiles和Directory.EnumerateDirectories在.NEt 3.5中工作? – Mike