Código java:
Ver original- public static void Main () { 
-    int[] a = {1,2,3}; 
-    a = (int[])RedimencionarArray(a,5); 
-    a[3] = 4; 
-    a[4] = 5; 
-    for (int i=0; i<a.Length; i++) 
-       System- . Console- . WriteLine (- a [- i ]);
 
- } 
aqui nos tirara NullPointerException... por razones obvias nos caemos del array 
pero llamamos a una segundo metodo   
Código java:
Ver original-    int TamanoViejo= ArrayViejo.Length; 
-    System- . Type-  tipoElemento =-  ArrayViejo. GetType()- . GetElementType();
 
-    int-  preserveLength  = System- . Math- . Min(- TamanoViejo,TamanoNuevo );
 
-    if (preserveLength > 0) 
-       System- . Array- . Copy (- ArrayViejo,ArrayNuevo,preserveLength );
 
-    return ArrayNuevo; 
-  } 
y tenemos arrays dinamicos