Если требуется изменить размер, вы должны использовать List<byte>
.Размеры массивов не могут быть изменены, поэтому вам придется создать совершенно новый массив, а затем скопировать старое содержимое в новый массив перед добавлением дополнительного содержимого (это то, что делает Array.Resize
, если это то, на что вы ссылались).
List<T>
использует массив для внутреннего использования, но оптимизирует изменение размера, поэтому вам не придется с ним обращаться.
По существу, после заполнения внутреннего массива и добавления нового содержимого, List<T>
удвоит внутренний размер массива, следовательно, изменение размера должно происходить очень редко - если вы изменяете размер массива непосредственно с другой стороны, вам придется либо использовать аналогичную стратегию и сохранить «счетчик размеров», либо взять на себя затраты производительности по изменению размерана любое добавление контента.