Tienes dos opciones,
- O utilizar un objeto de una clase que implemente IList (como ArrayList), y dejar de preocuparte por el tama~o del arreglo, pues es dimensionado automaticamente de acuerdo a la necesidad, y utilizar metodos como Add o Remove para tratar sus elementos (mas info en las clases del namespace System.Collections)
- O hacer lo que hace .NET cuando le pides redimensionar un arreglo: crear uno nuevo, y darle un Array.Copy del viejo al nuevo. Algo como:
Código:
private static Array Redim(Array SourceArray, int Length)
{
Array array2 = Array.CreateInstance(SourceArray.GetType().GetElementType(), Length);
Array.Copy(SourceArray, array2, Length);
return array2;
}