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

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

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

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

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

textual
Листинг программы
  1. using System;
  2. using System.IO;
  3. using System.Linq;
  4.  
  5. namespace Analis
  6. {
  7.     class Program
  8.     {
  9.         public static void Main(string[] args)
  10.         {
  11.             int decision;
  12.             string decisionName = "Directory";
  13.                                                              
  14.             Console.WriteLine("Выбирите исходный каталог:");
  15.             Console.WriteLine("1.C:\ProgramData");
  16.             Console.WriteLine("2.D:\ProgramData");//просто пример =)
  17.             decision = Int32.Parse(Console.ReadLine());
  18.            
  19.             if(decision==1){
  20.             decisionName = @"C:\ProgramData";  
  21.             }
  22.             else if (decision==2){
  23.             decisionName = @"D:";
  24.             }
  25.             else{
  26.             Console.Write(" Данному значению не соответственного решения! ");
  27.             }
  28.             DirectoryInfo DIO = new DirectoryInfo(decisionName);
  29.                        
  30.             //foreach (var item in DIO.GetDirectories())
  31.             {
  32.                Console.WriteLine(item.Name);
  33.                 try {
  34.                 FileInfo FI = new FileInfo(@"" + decisionName + item.Name + @"" + "hello.txt");
  35.                 FI.Create().Close();
  36.                 }
  37.                 catch (UnauthorizedAccessException) {}            
  38.            }
  39.                            
  40.             Console.Write("Press any key to continue . . . ");
  41.             Console.ReadKey(true);
  42.         }
  43.     }
  44. }

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


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

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

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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут