VB 二维数组定义的问题!

如:一组数为3列 行数不确定!!行数是动态增加的!如何定义?

第1个回答  2013-10-27
VB中的数组是按列优先存储的,如果你想让行动态变化,而又要保证原有数据不丢失的话,直接用ReDim操作是不行的,需要用一个临时数组存储原有数组中的数据才行。VB中使用ReDIm Preserve重定义动态数组时,只能改变最后一维下标的上界。
第2个回答  2013-10-27
数组原来的值需不需要保存呢?如果不需要那直接用ReDim就可以了。如果需要那可以用ReDim Preserve,但只能改变最后一维的上界,所以要把第一维当成列数,第二维当成行数。 Private a() As IntegerPrivate Sub Form_Click()
Dim i As Integer
Dim j As Integer
ReDim a(1 To 3, 1 To 5)
For i = 1 To 5
For j = 1 To 3
a(j, i) = j * i
Next
Next
ReDim Preserve a(1 To 3, 1 To 8)
For i = 6 To 8
For j = 1 To 3
a(j, i) = j * i
Next
Next
For i = 1 To 8
For j = 1 To 3
Print a(j, i);
Next
Print
Next
End Sub本回答被网友采纳
第3个回答  2013-10-27
与众不同的处理,给你参考 Dim a() As Variant
Dim val() As String '做为值的一维数组

ReDim Preserve a(1) As Variant '二维为1
ReDim Preserve val(2) As String '一维为2
a(0) = val '设置二维值为一维
a(0)(0) = "fdf" '设置值

'重设二维为2
ReDim Preserve a(2) As Variant
a(1) = val '设置新增加的纬度值为一维
a(1)(0) = "fdfdf"

Text1.Text = a(0)(0)
Text2.Text = a(1)(0)
第4个回答  2013-10-27
dim redim preserve
相似回答