VB.NET Как объявить новый пустой массив известной длины

Есть ли способ в VB.NET объявить массив, а затем инициализировать его до известной длины в коде? Другими словами, я ищу эквивалент VB.NET следующего кода С#.NET:

string[] dest;
// more code here
dest = new string[src.Length];

Я пробовал это в VB, и это не сработало.

Dim dest() as string
' more code here
dest = New String(src.Length)

Что мне не хватает?


ПРИМЕЧАНИЕ. Я могу подтвердить, что

Dim dest(src.Length) as string

работает, но это не то, что я хочу, так как я ищу, чтобы отделить объявление и инициализацию массива.

Ответ 1

Синтаксис VB.NET в этом случае немного отличается. Эквивалент

string[] dest;
// more code here
dest = new string[src.Length];

является

Dim dest As String()
' more code here
dest = New String(src.Length - 1) {}

Ответ 2

Обычный способ сделать это - объявить массив следующим образом: -

Dim my_array() As String

а затем в коде

ReDim my_array (src.Length - 1)

Ответ 3

Вы можете использовать Redim как уже отмечено, но это эквивалентный код VB для вашего С#

Dim dest As String()
dest = New String(src.Length - 1) {}

Попробуйте и не используйте динамические массивы. Общий List(Of T) гораздо более гибкий