Это не так, как List
работает. Когда вы указываете емкость, это начальная емкость, а не количество элементов в списке. Список не содержит элементов, пока вы не добавите их с помощью метода Add
. Списки не имеют максимальной емкости. И поскольку вы добавляете объекты с помощью метода Add, да, вам придется сначала их обновить.
Фактически, выполнение того, что вы задали в своем вопросе, приведет к исключению ArgumentOutOfRange
.
Для того, что вы делаете, вам нужно использовать массив.
var listObj = new List<GenericClass>();
listObj[0] = new GenericClass(); // ArgumentOutOfRange exception
Это будет работать:
for (int i=0;i<100;i++)
{
listObj.Add(new GenericClass());
}
Это то, что вы пытались сделать:
var arrayObj = new GenericClass[100];
for (int i = 0; i < 100; i++)
{
arrayObj[i] = new GenericClass();
}