Как в C# зарезервировать место под массив?
Я так понимаю, что Вы просто не сочли нужным почитать за массивы в C#, т.к. эта информация написана в каждом туториале по ним.
При объявлении массива, вы сразу указываете его размер. После его создания, Вы уже не сможете этот размер изменить (ничего "прибавить" Вы не сможете, можете только изменять значения элементов), именно потому, что под него уже выделена память. Если Вы что-то о массивах читали, то должны знать определение "Массив - это совокупность однотипных данных, расположенных непрерывно в памяти."
На уровне кода массив это тот же список, у которого просто нет методов для увеличения его размера. Список Вы так же, при объявлении можете указать его начальный размер, но если его будет не хватать, то внутри отработает ресайз, обычно на величину текущего размера умноженного на два (есть варианты, когда размер прыгает по простым числам). Частый ресайз это не очень хорошо, т.к затрачивается время на резервирование нового пространства и копирования туда значений, плюс будет мусор для gc. Это касается List, т.к. он просто надстройка над Array. 
Есть другие виды списков, которые внутри являются связанными списками. Вообще C# достаточно богат видами списков, их желательно знать, чтоб правильно выбрать необходимый под свою задачу. И как я понял, Вы хотите массив, с возможностью изменять его размер. Тогда Вам нужен List, можете задать ему начальный размер new List(100). Увеличение будет происходить автоматом.
Я так понимаю, что Вы просто не сочли нужным почитать за массивы в C#, т.к. эта информация написана в каждом туториале по ним.
При объявлении массива, вы сразу указываете его размер. После его создания, Вы уже не сможете этот размер изменить (ничего "прибавить" Вы не сможете, можете только изменять значения элементов), именно потому, что под него уже выделена память. Если Вы что-то о массивах читали, то должны знать определение "Массив - это совокупность однотипных данных, расположенных непрерывно в памяти."
На уровне кода массив это тот же список, у которого просто нет методов для увеличения его размера. Список Вы так же, при объявлении можете указать его начальный размер, но если его будет не хватать, то внутри отработает ресайз, обычно на величину текущего размера умноженного на два (есть варианты, когда размер прыгает по простым числам). Частый ресайз это не очень хорошо, т.к затрачивается время на резервирование нового пространства и копирования туда значений, плюс будет мусор для gc. Это касается List, т.к. он просто надстройка над Array. 
Есть другие виды списков, которые внутри являются связанными списками. Вообще C# достаточно богат видами списков, их желательно знать, чтоб правильно выбрать необходимый под свою задачу. И как я понял, Вы хотите массив, с возможностью изменять его размер. Тогда Вам нужен List, можете задать ему начальный размер new List(100). Увеличение будет происходить автоматом.