簡體   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