У меня проблема при попытке соединить список с другим рекурсивным методом.Я могу распечатывать каждый элемент списка каждый раз, когда он повторяется, но как только я пытаюсь добавить его в другой основной список, возникают проблемы.
Я получаю следующую ошибку: Null Object Referenceошибка.
Моя основная мотивация для этого - рекурсивно создать список всех каталогов и подкаталогов в заданной папке / пути.
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;
}
}
}
Часть, которую я прокомментировал, - это бит, вызывающий проблемы,
Любая помощь, которую вы можете оказать, будет принята с благодарностью!