Starting Index of Arrays in C# and VB.Net

后端 未结 3 936
既然无缘
既然无缘 2020-12-11 16:57

Have a look at the following code.,

C#

 string[] testString = new string[jobs.Count];

Equivalent VB.Net

相关标签:
3条回答
  • 2020-12-11 17:35

    In VB.NET the number in the array declaration means "max index", but in C# it means "number of elements"

    0 讨论(0)
  • 2020-12-11 17:36

    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)
    
    0 讨论(0)
  • 2020-12-11 17:36

    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#

    0 讨论(0)
提交回复
热议问题