Ответ 1
Я рекомендую: oBytes = New Byte() {}
Вы должны стараться избегать "классических VB-измов", таких как Redim
, и других поколений от классических дней VB. Я бы порекомендовал третий вариант.
Edit
Чтобы предоставить дополнительную информацию о том, почему этого избежать, см. эту страницу MSDN. В то время как страница не рекомендует конкретно против этого, вы можете видеть, что Redim
страдает от недостатков (и потенциального путаницы), которые не имеет другого синтаксиса.
-
Redim
может использоваться только для существующих массивов. Тем не менее, семантически эквивалентно объявлению массиваnew
.Redim
выпускает старый массив и создает новый (так что это не так, как будтоRedim
имеет возможность "приклеивать" или "отбивать" элементы). Кроме того, он является разрушительным, если не используется ключевое словоPreserve
, хотя визуальная индикация о том, что назначение имеет место, отсутствует. - Поскольку
Redim
не может создать массив (но может работать только с существующими массивами), его можно использовать только в процедуре; на уровне класса вы вынуждены использовать методNew Byte() {}
, оставив вам два визуально разных шаблона для назначения новых массивов, хотя они семантически идентичны.