VB 中定义二维动态数组的方法
在VB中,定义动态的以为数组方法是dimA()asinteger。也就是数组A后面的括号里不要写具体的数字,表示数组A中的元素个数是不定的。那么如何定义二维动态数组呢?要...
在VB中,定义动态的以为数组方法是 dim A() as integer 。也就是数组A后面的括号里不要写具体的数字,表示数组A中的元素个数是不定的。那么如何定义二维动态数组呢?
要是二维数组B中的元素个数也是不定的,要怎么定义呢??显然 Dim B(,) as integer 是不对的。那么高手们 ,如何定义二维的动态数组呢?? 展开
要是二维数组B中的元素个数也是不定的,要怎么定义呢??显然 Dim B(,) as integer 是不对的。那么高手们 ,如何定义二维的动态数组呢?? 展开
展开全部
ReDim 语句支持这样的语法,它与固定数组中使用的语法相同。对于每一维数,每个 ReDim 语句都能改变元素数目以及上下界。但是,数组的维数不能改变。
ReDim DynArray (4 to 12)
例如,用第一次声明在模块级所建立的动态数组 Matrix1:
Dim Matrix1 () As Integer
然后,在过程中给数组分配空间:
Sub CalcValuesNow ()
.
.
.
ReDim Matrix1 (19, 29)
End Sub
这里的 ReDim 语句给 Matrix 分配一个 20 × 30 的整数矩阵(元素总大小为 600)。
ReDim DynArray (4 to 12)
例如,用第一次声明在模块级所建立的动态数组 Matrix1:
Dim Matrix1 () As Integer
然后,在过程中给数组分配空间:
Sub CalcValuesNow ()
.
.
.
ReDim Matrix1 (19, 29)
End Sub
这里的 ReDim 语句给 Matrix 分配一个 20 × 30 的整数矩阵(元素总大小为 600)。
展开全部
用ARRAY定义数组也可以,只是你的定义方法及引用方法都不对。
用ARRAY无法定义二维数组,只能定义多重数组,因此不能向二维数组那样引用。
Dim PartIn, PartOut
PartIn = <a href="https://www.baidu.com/s?wd=ARRAY&tn=44039180_cpr&fenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1d9uHmzPWnvPynsnjn4PHnv0ZwV5Hcvrjm3rH6sPfKWUMw85HfYnjn4nH6sgvPsT6K1TL0qnfK1TL0z5HD0IgF_5y9YIZ0lQzqlpA-bmyt8mh7GuZR8mvqVQL7dugPYpyq8Q1R1P1RsPHD3r0" target="_blank" class="baidu-highlight">Array</a>(Array(F11, F12, F13), Array(F21, F22, F23), Array(F31, F32, F33))
PartOut = Array(Array(F11F, F12F, F13F), Array(F21F, F22F, F23F), Array(F31F, F32F, F33F))
For i = 0 To 2
For j = 0 To 2
If PartIn(i)(j) = PartOut(i)(j) Then
PartIn(i)(j) = PartOut(i)(j)
Else
PartIn(i)(j) = PartIn(i)(j) & "and" & PartOut(i)(j)
<a href="https://www.baidu.com/s?wd=End&tn=44039180_cpr&fenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1d9uHmzPWnvPynsnjn4PHnv0ZwV5Hcvrjm3rH6sPfKWUMw85HfYnjn4nH6sgvPsT6K1TL0qnfK1TL0z5HD0IgF_5y9YIZ0lQzqlpA-bmyt8mh7GuZR8mvqVQL7dugPYpyq8Q1R1P1RsPHD3r0" target="_blank" class="baidu-highlight">End</a> If
<a href="https://www.baidu.com/s?wd=Next&tn=44039180_cpr&fenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1d9uHmzPWnvPynsnjn4PHnv0ZwV5Hcvrjm3rH6sPfKWUMw85HfYnjn4nH6sgvPsT6K1TL0qnfK1TL0z5HD0IgF_5y9YIZ0lQzqlpA-bmyt8mh7GuZR8mvqVQL7dugPYpyq8Q1R1P1RsPHD3r0" target="_blank" class="baidu-highlight">Next</a> j
Next i
用ARRAY无法定义二维数组,只能定义多重数组,因此不能向二维数组那样引用。
Dim PartIn, PartOut
PartIn = <a href="https://www.baidu.com/s?wd=ARRAY&tn=44039180_cpr&fenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1d9uHmzPWnvPynsnjn4PHnv0ZwV5Hcvrjm3rH6sPfKWUMw85HfYnjn4nH6sgvPsT6K1TL0qnfK1TL0z5HD0IgF_5y9YIZ0lQzqlpA-bmyt8mh7GuZR8mvqVQL7dugPYpyq8Q1R1P1RsPHD3r0" target="_blank" class="baidu-highlight">Array</a>(Array(F11, F12, F13), Array(F21, F22, F23), Array(F31, F32, F33))
PartOut = Array(Array(F11F, F12F, F13F), Array(F21F, F22F, F23F), Array(F31F, F32F, F33F))
For i = 0 To 2
For j = 0 To 2
If PartIn(i)(j) = PartOut(i)(j) Then
PartIn(i)(j) = PartOut(i)(j)
Else
PartIn(i)(j) = PartIn(i)(j) & "and" & PartOut(i)(j)
<a href="https://www.baidu.com/s?wd=End&tn=44039180_cpr&fenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1d9uHmzPWnvPynsnjn4PHnv0ZwV5Hcvrjm3rH6sPfKWUMw85HfYnjn4nH6sgvPsT6K1TL0qnfK1TL0z5HD0IgF_5y9YIZ0lQzqlpA-bmyt8mh7GuZR8mvqVQL7dugPYpyq8Q1R1P1RsPHD3r0" target="_blank" class="baidu-highlight">End</a> If
<a href="https://www.baidu.com/s?wd=Next&tn=44039180_cpr&fenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1d9uHmzPWnvPynsnjn4PHnv0ZwV5Hcvrjm3rH6sPfKWUMw85HfYnjn4nH6sgvPsT6K1TL0qnfK1TL0z5HD0IgF_5y9YIZ0lQzqlpA-bmyt8mh7GuZR8mvqVQL7dugPYpyq8Q1R1P1RsPHD3r0" target="_blank" class="baidu-highlight">Next</a> j
Next i
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
也用dim a() as Integer声明,在实际使用中再用如redim a (100,100)声明就可以了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Dim a() As Integer
ReDim a(10, 10)
ReDim a(10, 10)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
dim arry()
redim(x,y)
x,y自己改
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询