c# – 目录列表递归
发布时间:2020-12-16 01:49:27 所属栏目:百科 来源:网络整理
导读:我试图在递归方法中将List连接到另一个时遇到问题.每次递送时我都可以打印出List的每个成员,但是一旦我尝试将它添加到另一个主列表中,它似乎就会出现问题. 我得到的错误是:空对象引用错误. 我这样做的主要动机是递归地创建给定文件夹/路径中所有目录和子目
我试图在递归方法中将List连接到另一个时遇到问题.每次递送时我都可以打印出List的每个成员,但是一旦我尝试将它添加到另一个主列表中,它似乎就会出现问题.
我得到的错误是:空对象引用错误. 我这样做的主要动机是递归地创建给定文件夹/路径中所有目录和子目录的列表. using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.IO; namespace listsubdirsinfile { class Program { public static DirectoryInfo directory; public static List<DirectoryInfo> allSubDirectories; public static FileInfo[] files; static void Main(string[] args) { directory = new DirectoryInfo(@"C:cs"); allSubDirectories = getAllSubdirectories(directory); Console.WriteLine("allSubdirectoriesn-----------------"); foreach (DirectoryInfo aDirectory in allSubDirectories) { Console.WriteLine(aDirectory.ToString()); } Console.ReadKey(); } static List<DirectoryInfo> getAllSubdirectories(DirectoryInfo dir) { List<DirectoryInfo> subDirs = new List<DirectoryInfo>(); subDirs = dir.GetDirectories().ToList(); foreach (DirectoryInfo sDir in subDirs) { Console.WriteLine(sDir.ToString()); // allSubDirectories.Add(sDir); subDirs.Concat(getAllSubdirectories(sDir)); } return subDirs; } } } 我评论的部分是导致问题的一点. 任何你能给予的帮助将不胜感激! 解决方法
你使用的是.NET 4吗?在这种情况下:
System.IO.Directory.GetDirectories(@"C:My Sample Path","*",System.IO.SearchOption.AllDirectories); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |