3

第一次尝试

Dim holdValues() As Integer 'Doesn't Work
holdValues(1) = 55

第二次尝试

Dim holdValues(-1) As Integer 'Gives me Index was outside the bounds of the array.
holdValues(1) = 55

我正在尝试做类似的事情

 Dim myString(-1) As String

但显然这不适用于整数数组。我不知道数组的大小是多少,它不会变小,但会变大。

任何帮助将不胜感激,谢谢!

4

2 回答 2

11

您可以使用 Initializers 快捷方式:

Dim myValues As Integer() = New Integer() {55, 56, 67}

但是,如果您想调整数组的大小等,那么一定要查看 List(Of Integer):

'Initialise the list
Dim myValues As New System.Collections.Generic.List(Of Integer)

'Shortcut to pre-populate it with known values
myValues.AddRange(New Integer() {55, 56, 57})

'Add a new value, dynamically resizing the array
myValues.Add(32)

'It probably has a method do do what you want, but if you really need an array:
myValues.ToArray()
于 2012-07-31T00:31:55.303 回答
10

你把号码加到

holdValues(x) //x+1 will be size of array

所以像这样

Dim array(2) As Integer
array(0) = 100
array(1) = 10
array(2) = 1

如果需要,您可以通过这样做重新分配更大的数组。

ReDim array(10) as Integer 

当您应该使数组更大时,您必须添加代码。您还可以查看列表。列表会自动处理这个问题。

这里有一些关于列表的信息:http: //www.dotnetperls.com/list-vbnet

希望这可以帮助。

也是数组常识的链接http://www.dotnetperls.com/array-vbnet

于 2012-07-30T23:28:07.750 回答