Если вы не знаете размер массива или у вас уже есть существующий массив, к которому вы добавляете. Вы можете сделать это двумя способами. Первый - это использование универсального List<T>
: для этого вам нужно преобразовать массив в a var termsList = terms.ToList();
и использовать метод Add. Затем, когда закончите, используйте var terms = termsList.ToArray();
метод для преобразования обратно в массив.
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();
Второй способ - изменение размера текущего массива:
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;
}
Если вы используете .NET 3.5 Array.Add(...);
Оба из них позволят вам сделать это динамически. Если вы будете добавлять много предметов, просто используйте List<T>
. Если это всего лишь пара элементов, то у него будет лучшая производительность при изменении размера массива. Это потому, что вы берете больше удара для создания List<T>
объекта.
Время в тиках:
3 предмета
Время изменения размера массива: 6
Время добавления списка: 16
400 предметов
Время изменения размера массива: 305
Время добавления списка: 20