Получить имена всех папок в каталоге - C#

Узнай цену своей работы

Формулировка задачи:

Привет! Пытаюсь записать в массив имена всех папок в каталог и для этого сделал 2 переменные:
int dirQuantity = 1;
string[] dirName= new string[dirQuantity];
И ещё вот это:
DirectoryInfo DIO = new DirectoryInfo(decisionName);
            foreach (var item in DIO.GetDirectories())
            {
                dirName[dirQuantity]=item.Name;// на эту строку ругается!
                Console.WriteLine(item.Name);
                dirQuantity++;
            }
Но он ругается: System.IndexOutOfRangeException: Индекс находился вне границ массива.

Решение задачи: «Получить имена всех папок в каталоге»

textual
Листинг программы
using System;
using System.IO;
using System.Linq;
 
namespace Analis
{
    class Program
    {
        public static void Main(string[] args)
        {
            int decision;
            string decisionName = "Directory";
                                                              
            Console.WriteLine("Выбирите исходный каталог:");
            Console.WriteLine("1.C:\ProgramData");
            Console.WriteLine("2.D:\ProgramData");//просто пример =)
            decision = Int32.Parse(Console.ReadLine());
            
            if(decision==1){
            decisionName = @"C:\ProgramData";   
            }
            else if (decision==2){
            decisionName = @"D:";
            }
            else{
            Console.Write(" Данному значению не соответственного решения! ");
            }
            DirectoryInfo DIO = new DirectoryInfo(decisionName);
                        
            //foreach (var item in DIO.GetDirectories())
            {
               Console.WriteLine(item.Name);
                try {
                FileInfo FI = new FileInfo(@"" + decisionName + item.Name + @"" + "hello.txt");
                FI.Create().Close();
                }
                catch (UnauthorizedAccessException) {}            
           }
                            
            Console.Write("Press any key to continue . . . ");
            Console.ReadKey(true);
        }
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4 из 5