gpt4 book ai didi

c# - 目录列表递归

转载 作者:行者123 更新时间:2023-11-30 14:16:07 24 4
gpt4 key购买 nike

尝试以递归方法将一个列表连接到另一个列表时遇到问题。每次递归时,我都可以打印出列表的每个成员,但是一旦我尝试将它添加到另一个主列表中,它似乎就会出现问题。

我得到的错误是:空对象引用错误。

我这样做的主要动机是递归地创建给定文件夹/路径中所有目录和子目录的列表。

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("allSubdirectories\n-----------------");
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);

关于c# - 目录列表递归,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8251138/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com