繁体   English   中英

二维数组

[英]Two-dimensional array

我使用Visual Studio 2010与Visual Basic。 我有一个动态二维数组进入函数。 我无法弄清楚如何获得第一行的大小。

例如,假设这个数组传入函数:

{{1, 0, 5, 4},
 {8, 1, 4, 4},
 {0, 1, 4, 4},
 {7, 7, 7, 4},
 {7, 7, 7, 4},
 {8, 1, 4, 4}}

在这个例子中我会得到4,因为如果你看例如第一行它有4个元素。 例如,在这种情况下:

{{1, 0, 5, 4, 7, 7},
 {8, 1, 4, 4, 7, 7},
 {0, 1, 4, 4, 8, 8},
 {7, 7, 7, 4, 3, 3},
 {7, 7, 7, 4, 4, 4},
 {8, 1, 4, 4, 1, 9}}

我会回来6因为行中有6个元素。 数组总是以2d进入,行总是相同的长度。 列大小未知且行大小未知。 但是,如果我发现一行的行大小,那么所有行都是那么大,如果这有意义的话。

我试过这个UBound(inArray,1),但它不起作用。 请帮我解决这个问题。

看看使用Array.GetUpperBound方法

获取Array中指定维度的上限。

Dim i(,) As Integer = {{1, 0, 5, 4}, {8, 1, 4, 4}, {0, 1, 4, 4}, {7, 7, 7, 4}, {7, 7, 7, 4}, {8, 1, 4, 4}}
MsgBox(i.GetUpperBound(0)) 'first index
MsgBox(i.GetUpperBound(1)) 'second index
MsgBox(UBound(i, 1)) 'first index (UBOUND is 1-based)
MsgBox(UBound(i, 2)) 'second index (UBOUND is 1-based)

对于2D数组i(x,y)GetUpperBound(0)返回x的最大值, GetUpperBound(1)返回y的最大值

要查找x轴的长度,请使用GetLength函数。 我已经尝试过GetUpperBound函数,有时它已被证明有点不可靠。 请使用以下代码作为参考:

Dim array(1,10) As Double
Dim x as Integer = array.GetLength(0) - 1 'Will give you value of dimension x'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM