1 public static System.Array ResizeArray(System.Array oldArray, int newSize)
2 {
3 int oldSize = oldArray.Length;
4 System.Type elementType = oldArray.GetType().GetElementType();
5 System.Array newArray = System.Array.CreateInstance(elementType, newSize);
6 int preserveLength = System.Math.Min(oldSize, newSize);
7 if (preserveLength > 0)
8 System.Array.Copy(oldArray, newArray, preserveLength);
9 return newArray;
10 }
11
12 // Test for ResizeArray().
13 public static void Main()
14 {
15 int[] a = { 1, 2, 3 };
16 a = (int[])ResizeArray(a, 5);
17 a[3] = 4;
18 a[4] = 5;
19 for (int i = 0; i < a.Length; i++)
20 System.Console.WriteLine(a[i]);
21 }