看看下面的代码,
C#
string[] testString = new string[jobs.Count];
等效 VB.Net
Dim testString() As String = New String(jobs.Count - 1) {}
为什么在创建新数组时在 vb.net 中使用 'jobs.Count - 1' 而不是 'jobs.Count'?
在 VB.NET 中,数组声明中的数字表示“最大索引”,但在 C# 中表示“元素数”
在 C# 中,数组具有您提供的元素数量:
string[] array = new string[2]; // will have two element [0] and [1]
在 VB.NET 中,数组具有您提供的元素数量加一(您指定最大索引值):
Dim array(2) As String // will have three elements (0), (1) and (2)
因为使用您的C#
代码示例,
string testString = new string[jobs.Count];
这是创建字符串数组的构造函数。
在使用 VB.Net 示例时,
Dim testString As String = New String(jobs.Count - 1) {}
您指的是一个新String
对象,其括号中声明的字符串长度。
如果你想String
在 VB.Net 中创建一个数组,它必须是这样的:
Dim testString (jobs.Count) As String