如果我Dim array As String()
我似乎能够调整该数组的大小并在其中随意添加任何内容。例如:
Dim PackUrls As String()
PackUrls = Split(WebRequest("http://" + sPackBaseURI, sPackBaseURIUsername, sPackBaseURIPassword), ":")
我没有得到错误,并且数组没有发生任何奇怪的事情。
我没有想到这样做,所以我读到你必须先指定数组的大小!为什么会这样?
答案 0 :(得分:1)
当您为var分配和数组时,无论大小如何,都要用新数组替换它。 var现在指向相同类型的新数据,因此不需要错误。
当您将数组分配给数组var时,您不是单独复制项目,而是将变量添加到新数组中。
答案 1 :(得分:1)
这是您的代码中发生的事情
'Create an empty string array called PackUrls
Dim PackUrls As String()
'Create a new string array from the Split function
'and assign it to the variable PackUrls, replacing the old value.
PackUrls = Split(WebRequest("http://" + sPackBaseURI, _
sPackBaseURIUsername, sPackBaseURIPassword), ":")
Split
的结果没有复制到PackUrls
。原始内容(顺便说一句)不会被Split
中的新内容替换。因此,无需调整阵列大小。你可以像这样轻松地重写你的代码,它会起作用:
Dim PackUrls As String() = Split(WebRequest("http://" + sPackBaseURI, _
sPackBaseURIUsername, sPackBaseURIPassword), ":")