Se você não souber o tamanho da matriz ou já tiver uma matriz existente à qual está adicionando. Você pode fazer isso de duas maneiras. A primeira é usar um genérico List<T>
: para fazer isso, convém converter a matriz em a var termsList = terms.ToList();
e usar o método Add. Em seguida, quando terminar, use o var terms = termsList.ToArray();
método para converter novamente em uma 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();
A segunda maneira é redimensionar a matriz atual:
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;
}
Se você estiver usando o .NET 3.5 Array.Add(...);
Ambos permitem que você faça isso dinamicamente. Se você adicionar muitos itens, basta usar a List<T>
. Se forem apenas alguns itens, o desempenho será melhor redimensionado a matriz. Isso ocorre porque você recebe mais sucesso ao criar o List<T>
objeto.
Vezes em ticks:
3 itens
Tempo de redimensionamento da matriz: 6
Tempo para adicionar lista: 16
400 itens
Tempo de redimensionamento da matriz: 305
Tempo para adicionar lista: 20