Si no conoce el tamaño de la matriz o ya tiene una matriz existente a la que está agregando. Puedes hacer esto de dos maneras. El primero es usar un genérico List<T>
: para hacer esto, querrá convertir la matriz a ay var termsList = terms.ToList();
usar el método Agregar. Luego, cuando termine, use el var terms = termsList.ToArray();
método para volver a convertirlo en una matriz.
var terms = default(int[]);
var termsList = terms == null ? new List<int>() : terms.ToList();
for(var i = 0; i < 400; i++)
termsList.Add(i);
terms = termsList.ToArray();
La segunda forma es cambiar el tamaño de la matriz actual:
var terms = default(int[]);
for(var i = 0; i < 400; i++)
{
if(terms == null)
terms = new int[1];
else
Array.Resize<int>(ref terms, terms.Length + 1);
terms[terms.Length - 1] = i;
}
Si está utilizando .NET 3.5 Array.Add(...);
Ambos le permitirán hacerlo dinámicamente. Si va a agregar muchos elementos, simplemente use a List<T>
. Si solo se trata de un par de elementos, tendrá un mejor rendimiento al cambiar el tamaño de la matriz. Esto se debe a que recibes más golpes para crear el List<T>
objeto.
Tiempos en garrapatas:
3 artículos
Tiempo de cambio de tamaño de matriz: 6
Agregar tiempo a la lista: 16
400 artículos
Tiempo de cambio de tamaño de matriz: 305
Agregar tiempo a la lista: 20