Как динамически изменять размерность массива во время работы программы - C#
Формулировка задачи:
Подскажите, пожалуйста, как динамически изменять размерность массива во время работы программы?
Вот цель задачи - искать файл по маске в указанном каталоге и его подкаталогах. Результаты работы программы (пока в виде полного пути к файлу) хочу сохранять в массив.
У меня сейчас падает ошибка "System.IndexOutOfRangeException: Индекс находился вне границ массива" на строчке 15, что вполне логично.. Как можно обойти такую проблему?
в функции main инициализирую массив и передаю в метод:
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; }
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
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д