vb 二维数组赋值并读取?

Dim d
d = Array(Array(1, 2, 3), Array(4, 5, 6), Array(7, 8, 9))
Debug.Print d(1, 1)

为什么Debug.Print d(1, 1)这一句老是出错啊?

结论:数组声明方式和访问方式不同导致

先贴一个测试通过的数组遍历方式的代码:

二维数组遍历

注意遍历使用的方法,两层数据,每次的访问方式,是直接对该元素数组填写索引值获取。

所以你的正确访问方式是:

Debug.Print d(1)(1)


补充知识:为什么使用二维数组的方式访问不到?

因为这与数组的声明方式有关。本题目中使用 Dim d 的方式,声明了一个variant类型的变量。

variant data type

接着赋值的时候,给与了一个二维数组,所以范文方式必须与赋值方式持平。


如何正确使用一个二维数组?

官方文档给出的方式,是显式声明数组的维度,并挨个赋值。VB就是这样。比如下面的示例:

二维数组的声明和使用

写在最后

总而言之,使用明确的数据类型声明二维数组,是根据索引正确访问数组的关键。


我是@程序员小助手,持续分享编程知识,欢迎关注。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-09-22

你想使用二维数组 首先得定义一个二维 你代码都是一维的 你将array作为参数代入array中并不能自动生成二维 老老实实redim 挨个赋值 可以用循环去赋值

本回答被网友采纳
第2个回答  2020-09-22
你买个PCI接口的固态读取速度2200的速度看它飞起来不再加32Gb内存