29

VB.NET 中有没有办法声明一个数组,然后在代码中将其初始化为已知长度?换句话说,我正在寻找与以下 C#.NET 代码等效的 VB.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

有效,但不是我想要的,因为我希望将数组的声明和初始化分开。

4

3 回答 3

51

在这种情况下,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) {}
于 2013-08-06T08:30:12.463 回答
9

执行此操作的正常方法是像这样声明数组:-

Dim my_array() As String

稍后在代码中

ReDim my_array (src.Length - 1)
于 2013-08-06T08:18:52.173 回答
5

您可以使用Redim如前所述,但这是与您的 C# 等效的 VB 代码

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

尽量避免使用动态数组。泛型List(Of T)更加灵活

于 2013-08-06T08:31:11.837 回答