首页 > 解决方案 > 如何将子目录存储在列表c#中

问题描述

下面的代码将显示包含在主目录中的所有子目录
我需要获取通过存储在列表中的方法 LoadSubDirs(string dir) 显示的数据

class Program
{

    static void Main(string[] args)
    {
        string root = @"D:\";
        string[] subdirectories = Directory.GetDirectories(root);

        foreach (string subdir in subdirectories)
        {
            LoadSubDirs(subdir);


        }

    }
    private static void LoadSubDirs(string dir)
    {
        Console.WriteLine(dir);

        try
        {
            string[] subdirectories = Directory.GetDirectories(dir);

            foreach (string subdir in subdirectories)
            {
                try
                {
                    LoadSubDirs(subdir);
                }
                catch { }


            }
        }
    }
}

标签: c#

解决方案


这是您的代码,目录保存在 List 对象中

using System.IO;
using System;
using System.Collections.Generic;

class Program
{
    static void Main(string[] args)
    {
        string root = @"D:\";
        string[] subdirectories = Directory.GetDirectories(root);
        List<string> listDirs = new List<string>();

        foreach (string subdir in subdirectories)
        {
            LoadSubDirs(subdir, listDirs);
        }

    }
    private static void LoadSubDirs(string dir, List<string> listDirs)
    {
        Console.WriteLine(dir);
        listDirs.Add(dir);

        try
        {
            string[] subdirectories = Directory.GetDirectories(dir);

            foreach (string subdir in subdirectories)
            {
                try
                {
                    LoadSubDirs(subdir, listDirs);
                }
                catch { }
            }
        }
    }
}

推荐阅读