VB 中定义二维动态数组的方法

在VB中,定义动态的以为数组方法是dimA()asinteger。也就是数组A后面的括号里不要写具体的数字,表示数组A中的元素个数是不定的。那么如何定义二维动态数组呢?要... 在VB中,定义动态的以为数组方法是 dim A() as integer 。也就是数组A后面的括号里不要写具体的数字,表示数组A中的元素个数是不定的。那么如何定义二维动态数组呢?

要是二维数组B中的元素个数也是不定的,要怎么定义呢??显然 Dim B(,) as integer 是不对的。那么高手们 ,如何定义二维的动态数组呢??
展开
 我来答
daofuuq
2010-05-24 · TA获得超过483个赞
知道小有建树答主
回答量:2560
采纳率:0%
帮助的人:915万
展开全部
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)。
du瓶邪
2015-08-08 · TA获得超过2.4万个赞
知道大有可为答主
回答量:1.7万
采纳率:100%
帮助的人:2822万
展开全部
用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
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
葛子之骑白马才076d
2010-05-24 · TA获得超过520个赞
知道答主
回答量:713
采纳率:0%
帮助的人:396万
展开全部
也用dim a() as Integer声明,在实际使用中再用如redim a (100,100)声明就可以了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
远风的梦想家
2010-05-24 · TA获得超过2550个赞
知道大有可为答主
回答量:1389
采纳率:0%
帮助的人:0
展开全部
Dim a() As Integer
ReDim a(10, 10)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
WWEERR
2010-05-25 · TA获得超过841个赞
知道小有建树答主
回答量:536
采纳率:0%
帮助的人:526万
展开全部
dim arry() redim(x,y) x,y自己改
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式