在C#中,我可以声明这样的数组变量
object[] Parameters;
和初始化就像这样:
Parameters = new object[20];
在Visual Basic中,声明和初始化数组非常简单:
Dim Parameters(19) As Object
Dim Parameters As Object(19) ' Alternative syntax
如何初始化VB.NET中已声明的数组变量?
Parameters = New Object(19)
不起作用。
例如,我如何将以下内容翻译成VB.NET?
int value = 20;
object[] Parameters;
if (value > 10)
{
Parameters = new Object[20];
}
答案 0 :(得分:7)
基本上与其他Visual Basic代码相同,但我会利用这个机会添加一些风格:
Dim value = 20 ' Type inference, like "var" in C#
Dim parameters() As Object ' Could also be "parameters As Object()"
If value > 10 Then
parameters = New Object(19) {} ' That's right, Visual Basic uses the maximum index
End If ' instead of the number of elements.
局部变量(parameters
)应以小写字母开头。这是一个既定的约定,它有助于在Stack Overflow中获得正确的语法高亮(这也适用于原始的C#代码)。
那么,为什么Visual Basic中需要大括号{}
?在Visual Basic中,方法调用和数组访问都使用括号(...)
。因此,New X(4)
可能意味着:
X
类型的新对象,并将4
传递给构造函数,X
。要区分这两种情况,请在第二种情况下使用数组初始化程序语法。通常,大括号包含实际值:
myArray = New Integer() {1, 2, 3}
答案 1 :(得分:6)
Dim value As Integer = 20
Dim Parameters() as object
If value > 10 then
Parameters = new Object(value - 1){}
end if
答案 2 :(得分:4)
如果你像我一样懒,你可以使用online converter产生:
Dim value As Integer = 20
Dim Parameters As Object()
If value > 10 Then
Parameters = New [Object](19) {}
End If
如果你不喜欢我,想要学习VB.NET,请转到VB.NET语法的文档并开始阅读。