Как динамически изменять размерность массива во время работы программы - C#

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

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

Подскажите, пожалуйста, как динамически изменять размерность массива во время работы программы? Вот цель задачи - искать файл по маске в указанном каталоге и его подкаталогах. Результаты работы программы (пока в виде полного пути к файлу) хочу сохранять в массив. У меня сейчас падает ошибка "System.IndexOutOfRangeException: Индекс находился вне границ массива" на строчке 15, что вполне логично.. Как можно обойти такую проблему?
  public static string [] findFile (DirectoryInfo dir, string name, DateTime beginD, DateTime endD, ref int count, string [] output)
        {
            bool b;
 
            foreach (FileInfo file in dir.GetFiles())
            {
                DateTime modDate = new DateTime();
                b = file.Name.Contains(name);
                if (b)
                {
                    modDate = file.LastWriteTime;
                    if ((modDate.Date <= endD.Date) && (modDate.Date >= beginD.Date))
                    {
                        count++;
                        output[count] = file.FullName;
                    }
                }
            }            
               DirectoryInfo[] subDirects = dir.GetDirectories();
               foreach (DirectoryInfo d in subDirects)
               {
                   findFile(d, name, beginD, endD, ref count, output);
               }
              return output;
}
в функции main инициализирую массив и передаю в метод:
 int count = 0;
string [] output = new string[count];
Console.WriteLine(findFile(dir, mask,beginDate, endDate, ref count, output));

Решение задачи: «Как динамически изменять размерность массива во время работы программы»

textual
Листинг программы
            int[] arr = new int[4]; // размер 4
            Array.Resize(ref arr, 10); // сделали размер 10

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


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

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

6   голосов , оценка 4.167 из 5
Похожие ответы