myString()或As String()

时间:2016-01-19 16:24:04

标签: .net arrays vb.net string

我很长时间不知道以下几点之间的差异(如果有的话):

Dim myString() as String

Dim myString as String()

1 个答案:

答案 0 :(得分:1)

没有区别。两者都将变量初始化为String等于Nothing的数组。你会发现在VB中可以有不止一种方法来做同样的事情。 尽管如此,Microsoft's VB Coding Conventions对阵列有这样的说法:

  

将数组指示符放在类型上,而不是放在变量上。例如,使用以下语法:

Dim letters4 As String() = {"a", "b", "c"}
     

请勿使用以下语法:

Dim letters3() As String

两种语法之间存在一些差异,我将尝试总结。第一个是事实上的VB语法,用于声明一个大小但该参数是可选的数组。

'Declare a single-dimension array of 5 values
Dim numbers(4) As Integer

'Declare a multi-dimensional array
Dim matrix(5, 5) As Double

但是不能使用大小的第二种语法:

Dim numbers as Integer(4)
'Compiler error: Array bounds cannot appear in type specifiers

但您可以使用new运算符和初始化程序!

'Also an empty array with capacity for 5 values
Dim numbers as Integer() = new Integer(4) { }

这给我们带来了第二种语法:当我们想要声明使用初始值填充数组时使用它(即数组文字

Dim values As Double() = {1, 2, 3, 4, 5, 6}

在第二种情况下,您只是省略了数组文字,因此会产生与第一种情况相同的表达式。

请参阅MSDN中的 Arrays in Visual Basic