C# - 递归函数的结束/完成“事件”?

时间:2009-10-02 11:56:59

标签: c# recursion directory

让我们假设以下功能:

private void ParseFolder(string strFolder)
{
    foreach (string currentFolder in Directory.GetDirectories(strFolder))
    ParseFolder(strFolder);
}

现在我们用:

开始递归循环
ParseFolder("C:\");

当这个rec​​usrive循环结束时(=所有目录都已被解析),有没有办法得到通知?

2 个答案:

答案 0 :(得分:2)

是的,只需在它之后添加一个方法调用:

ParseFolder("C:\\"); // You need to escape \
Notify();

答案 1 :(得分:1)

private void DoWork()
{
     ParseFolder("C:\\");
     // Once you get here, the work is done.
}


private void ParseFolder(string strFolder)
{
    foreach (string currentFolder in Directory.GetDirectories(strFolder))
    ParseFolder(strFolder);
}