【发布时间】:2016-01-21 15:10:35
【问题描述】:
我有一个声明的字节数组:
Dim commands As Byte()()
该数组后来填充了一堆字节值,在我当前的测试中,它产生一个矩形 3x3 数组(直线性是巧合,该数组可以包含任何长度的字节数组)。
commands = New Byte(3)(){}
'...
commands(i) = GetBytes(x)
稍后我还想获得锯齿状数组中总字节数的计数。我假设Array.Length 会按照描述的那样做
Array所有维度的元素总数
但是,实际上似乎只返回 4;数组第一个维度的计数,即GetLength(0) 或行数。 Array.Count 也返回相同的值(即 3)。
我是否正确理解 Array.Length 应该返回什么?如果我有,那为什么不返回 9?
【问题讨论】:
-
您引用的 MSDN 页面上的示例使用 1-2-3d 数组,而不是锯齿状数组。听起来您希望它扫描 contents 以计算这些元素?
-
@Plutonix 嗯,是的,有点! XD 那么基本上VB中的数组类型真的和内在类型一样笨吗?
-
在 3D 数组中,其他维度实际上是数组对象(即命令)的一部分,而不是在锯齿状数组中。在那种情况下,它们只是内容
标签: arrays vb.net multidimensional-array count jagged-arrays