VB怎么声明数组
VB怎么声明数组我希望I[1]=1I[2]=2……大概就是=1,2,3,6,12这样子固定的能一行声明完吗?
VB怎么声明数组我希望I[1]=1I[2]=2……大概就是=1,2,3,6,12这样子固定的能一行声明完吗?
答案: Dim Counters (14) As Integer '15 个元素。
Dim Sums (20) As Double '21 个元素。
为建立公用数组,直接用 Public 取代 Dim。
Public Counters (14) As Integer
Public Sums (20) As Double
在过程之中同样的声明使用 Dim:
Dim Counters (14) As Integer
Dim Sums (20) As Double
第一个声明建立了一个有 15 个元素的数组,其索引号从 0 到 14 。第二个声明建立了一个有 21 个元素的数组,其索引号从 0 到 20 。缺省的下界为 0。
为了规定下界,用关键字 To 显式提供下界(为 Long 数据类型):
Dim Counters (1 To 15) As Integer
Dim Sums (100 To 120) As String
包含其它数组的数组
Private Sub Command1_Click ()
Dim intX As Integer '声明计数器变量。
'声明并放置整数数组。
Dim countersA (5) As Integer
For intX = 0 To 4
countersA (intX) = 5
Next intX
'声明并放置字符串数组。
Dim countersB (5) As String
For intX = 0 To 4
countersB (intX) = "hello"
Next intX
Dim arrX (2) As Variant '声明拥有两个成员的新数组。
arrX (1) = countersA () '将其它数组移居到数组。
arrX (2) = countersB ()
MsgBox arrX (1) (2) '显示每一个数组的成员。
MsgBox arrX (2) (3)
End Sub
易做图数组
有时需要追踪记录数组中的相关信息。例如,为了追踪记录计算机屏幕上的每一个像素,需要引用它的 X、Y 坐标。这时应该用易做图数组存储值。
可用 Visual Basic 声明易做图数组。例如,下面的语句声明了一个过程内的 10 × 10 的二维数组。
Static MatrixA (9, 9) As Double
Static MatrixA (1 To 10, 1 To 10) As Double
Dim MultiD (3, 1 To 10, 1 To 15)
这个声明建立了三维数组,大小为 4 × 10 × 15。元素总数为三个维数的乘积,为 600。
注意 在增加数组的维数时,数组所占的存储空间会大幅度增加,所以要慎用易做图数组。使用 Variant 数组时更要格外小心,因为他们需要更大的存储空间。
用循环操作数组
Dim I As Integer, J As Integer
Static MatrixA(1 To 10, 1 To 10) As Double
For I = 1 To 10
For J = 1 To 10
MatrixA (I, J) = I * 10 + J
Next J
Next I
要创建动态数组,请按照以下步骤执行:
(如果希望数组为公用数组,则)用 Public 语句声明数组,或者,(如果希望数组为模块级,则)在模块级用 Dim 语句声明数组,或者(如果希望数组为局部数组,则)在过程中用 Static 或 Dim 语句声明数组。给数组附以一个空维数表,这样就将数组声明为动态数组。
Dim DynArray ()
用 ReDim 语句分配实际的元素个数。ReDim DynArray (X + 1)
ReDim&