c#无法获取子目录列表

时间:2010-10-07 07:15:04

标签: c# winforms io directory

我在网上看过这个代码(和类似代码),但我无法让它工作。每当我逐行调试时,它就会中断调试并加载应用程序。没有出现错误消息,“故障”行之后的任何代码仍未处理。

以下是有问题的代码:

foreach (string folder in allFolders)
{
    string[] subFolders = Directory.GetDirectories(folder, 
        "*", SearchOption.AllDirectories);
    MessageBox.Show("Test");
}

输入foreach循环,但永远不会显示消息框。

如果删除SearchOption.AllDirectories代码已成功处理,但我需要某种方法在目录中包含所有子目录。

有什么想法吗?

3 个答案:

答案 0 :(得分:1)

MessageBox.Show无效,因为您的代码位于网络环境中,而MessageBox用于winform。通常我们使用javascript弹出一个消息框,例如alert('hi')

答案 1 :(得分:1)

您的代码适用于我。
在我看来,这个方法调用只需要花费很多时间来执行。例如,如果allFolders中有根目录,则必须等待几分钟(取决于您的系统参数)。您是否在只有少量嵌套目录的目录上检查了此代码段?
我假设你在winforms中工作并且执行只是没有到达MessageBox.Show调用。

答案 2 :(得分:0)

测试了你的代码,它运行正常,所以问题可能出在代码的另一个地方,或者可能是权限问题,虽然它在发生时返回异常,但MSGBOX也显示正常。

        List<string> allFolders = new List<string>();
        allFolders.Add(@"C:\joomla\");

        foreach (string folder in allFolders)
        {
            string[] subFolders = Directory.GetDirectories(folder, "*", SearchOption.AllDirectories);
            MessageBox.Show("Test");
        }