Как динамически изменять размерность массива во время работы программы - 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