Have a look at the following code.,
C#
string[] testString = new string[jobs.Count];
Equivalent VB.Net
In VB.NET the number in the array declaration means "max index", but in C# it means "number of elements"
In C# the array has the number of elements you provide:
string[] array = new string[2]; // will have two element [0] and [1]
In VB.NET the array has the number of elements you provide, plus one (you specify the max index value):
Dim array(2) As String // will have three elements (0), (1) and (2)
Because with your C#
code sample,
string testString = new string[jobs.Count];
That's a constructor of creating an array of string.
While with the VB.Net example,
Dim testString As String = New String(jobs.Count - 1) {}
You are referring with a new String
object with length of string declared in the parenthesis.
If you want to create an array of String
in VB.Net it must be like this:
Dim testString (jobs.Count) As String
see supporting links below: VB.Net C#