如何编写一个 C# 方法,该方法将使用 String[] 和 List<String[]>

public static List<string[]> SubSubFolders()

    {

       // int variable for while loop

        int i = 0;

        // String Array to hold top SubFol

        string[] dir = Directory.GetDirectories("c:\\");


        //List<String[]> to hold a list of arrays from dir

        List<string[]> subSub = new List<string[]>();


        string[] finalResult = new string[0];


        //Loop through all the folders in the dir.

        while (i < dir.Length)

        {

            string folder1 = dir(i);


            DirectoryInfo di = new DirectoryInfo(folder1);

            if (!di.Attributes.HasFlag(FileAttributes.Hidden))

            {   

                subSub.Add(Directory.GetDirectories(folder1));

            }

            i++;

        }


        return subSub;

    }

这是我的代码。我的目标是创建一个程序,允许我浏览给定目录下存在的所有目录,并按顺序列出它们。例如,整体代码将执行以下操作:


c:\documents

c:\documents\abtemp

c:\documents\abtemp\chuck

c:\documents\rubbish

c:\documents\state1

etc

我可以打印出第二级并即将进入更深的子目录。我的问题是我的打印输出根本没有显示顶部文件夹。


我为解决该问题所做的工作: * 尝试将目录添加到 subSub:我收到无法将 String 转换为 String[] 的错误。* 尝试将 subSub 更改为 string[] 而不是 list :我无法将子目录添加到数组中。* 尝试将 dir 更改为 List 而不是 string[]: * Directory.GetDirectories 给出了无法隐式转换类型 'string[]' 到 'System.Collections.Generic.List' 的错误


所以我的问题:如何将我的目录添加到 subSub 或反之亦然以完成列表?有没有更干净的方法来完成这项工作?


慕斯王
浏览 160回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP