PDA

Ver la Versión Completa : Como puedo redimecionar un Vector en C#


omar_e_rc
25-09-2005, 21:06:44
Como puedo redimecionar un vector en C#, sin perder la informacion que tengo dentro del vector.

Gracias por su ayuda.

__hector
26-09-2005, 03:52:19
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:


private static Array Redim(Array SourceArray, int Length)
{
Array array2 = Array.CreateInstance(SourceArray.GetType().GetElementType(), Length);
Array.Copy(SourceArray, array2, Length);
return array2;
}