VB 字符串类型的二维数组的定义方法

例子如下:我要定义2个3*3的二维数组,Dimpartin,partoutAsVariantpartin=Array([F11,F12,F13],[F21,F22,F23... 例子如下:
我要定义2个3*3的二维数组,
Dim partin,partout As Variant
partin = Array([F11,F12,F13], [F21,F22,F23], [F31,F32,F33])
partout = Array([F11F,F12F,F13F], [F21F,F22F,F23F], [F31F,F32F,F33F])
其中2个数组的下标都是变量的,类型是String
我写的代码是
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)
end if
next j
next i
运行程序的时候提示下标越界,不知道是不是定义错了,第一次用二维数组不知道怎么用,百度找了很多例子但都没有我想要的,请问我这个数组正确的应该怎样定义,如果写的代码也有错请顺便也帮我修正一下,谢谢,非常感谢~~
展开
 我来答
tf日出
推荐于2018-05-07 · TA获得超过1076个赞
知道小有建树答主
回答量:648
采纳率:0%
帮助的人:251万
展开全部

用ARRAY定义数组也可以,只是你的定义方法及引用方法都不对。

用ARRAY无法定义二维数组,只能定义多重数组,因此不能向二维数组那样引用。

 

Dim PartIn, PartOut
PartIn = Array(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)
End If
Next j
Next i

 

另外,为什么F11、F12、。。。不都定义成数组呢?这样用二维数组也挺方便。

 

Dim F(2, 2), FF(2, 2)
Dim PartIn(2, 2), PartOut(2, 2)
For i = 0 To 2
For j = 0 To 2
PartIn(i, j) = F(i, j)
PartOut(i, j) = FF(i, j)
Next j
Next i
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)
End If
Next j
Next i
匿名用户
2013-04-02
展开全部
dim partin(2,2) as string
Array好像只能定义一维数组
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
syx54
2013-04-02 · TA获得超过7378个赞
知道大有可为答主
回答量:6567
采纳率:83%
帮助的人:2678万
展开全部
Dim partin(2, 2) As String
partin(0, 0) = "F11"
partin(0, 1) = "F12"
partin(0, 2) = "F13"
partin(1, 0) = "F21"
partin(1, 1) = "F22"
partin(1, 2) = "F23"
partin(2, 0) = "F31"
partin(2, 1) = "F32"
partin(2, 2) = "F33"
追问
你好,如果要按照你这样来定义的话,那如果我要一个10*10的数组,岂不是要全部列出来列100个?应该不用这样吧,另外我稍微改了一下
Dim partin(2, 2) As String
partin(2, 2) = [(F11,F12,F13), (F21,F22,F23), (F31,F32,F33)]
但是我输出partin(0,0)或者partin(0,1)的时候没有值,都是空的,本来应该是有值的,总归还是回到定义的方法去,不知道这样定义对不对
追答
请问,你是VB的什么版本?
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式