array(2,2)是多維數組的訪問方式,其數組的定義和初始化方法為:
專注于為中小企業提供網站設計制作、成都做網站服務,電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業美蘭免費做網站提供優質的服務。我們立足成都,凝聚了一批互聯網行業人才,有力地推動了成百上千企業的穩健成長,幫助中小企業通過網站建設實現規模擴充和轉變。
Dim?array?As?Integer(,)?=?{{1,?2,?3},?{4,?5,?6}}
每一行的元素數量是固定且相等的。
array(2)(2)是交錯數組(即數組的數組)的訪問方式。也就是,你有一個數組,這個數組的每個元素也是數組。其數組的定義和初始化方法為:
Dim?array?As?Integer()()?=?{New?Integer()?{1,?2,?3},?New?Integer()?{4,?5,?6,?7,?8}}
由于每個元素是獨立的數組,所以交錯數組每一行的元素數量不固定,且可以不等。
動態數組一般開始不能直接寫dim a as string。除非Variant。一般先定義類型 但是數組名后得加上括號。例如
DIM a() AS STRING
后面根據需要使用的時候,可以自己定義大小。但是必須注意一點。重新定義的時候,
Redim a(11) 的時候,就會將原來的數組元素清空了,沒有保存。
Redim Preserve a(11) 就會將重新定義數組大小的同時,還將原來的數據保存了。
用一個帶括號的變量名來定義一維數組和多維數組如dim a(5) as integer '定義了1個1維、6個元素數組dim a(5,5) as integer '定義了1個2維、36個元素的數組
下面的代碼是含有錯誤跳轉的,但是如果放在這一個函數里面不會影響你其他的代碼。
感覺完全不用錯誤處理做不出來。【雖然有個IsError,但是無法像 IsError(UBound(mArray, i))這樣使用它,不然我們就可以不用跳轉了。】
【Excel中的VBA與VB語法上沒有什么差別】
設計思想:
在VB中數姐最大維數是60,所以我們通過錯誤捕捉來處理這個問題,在這里我們用到UBound函數
Public Function ArrayRange(mArray As Variant) As Integer
Dim i As Integer
Dim Ret As Integer
Dim ErrF As Boolean
ErrF = False
On Error GoTo ErrHandle
'判斷代入的參數是否為數組
If Not IsArray(mArray) Then
ArrayRange = -1
Exit Function
End If
'VB中數組最大為60
For i = 1 To 60
'用UBound函數判斷某一維的上界,如果大數組的實際維數時產生超出范圍錯誤,
' 此時我們通過Resume Next 來捕捉錯這個錯誤
Ret = UBound(mArray, i)
If ErrF Then Exit For
Next i
'最后返回
ArrayRange = Ret
Exit Function
ErrHandle:
Ret = i - 1
ErrF = True
Resume Next
End Function
每行的數字個數不同,你說的這是不規則數組,解決方案如下:
Dim b As String = ""
Dim a As Integer()() = New Integer(9)() {}
a(0) = New Integer() {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
a(1) = New Integer() {0, 3, 4, 5}
a(2) = New Integer() {0, 4, 5, 6, 7}
a(3) = New Integer() {0, 6, 5, 8, 9, 1}
a(4) = New Integer() {0, 2, 5, 1, 7}
a(5) = New Integer() {0, 4, 2, 6, 7, 3}
a(6) = New Integer() {0, 4, 5, 3, 2}
a(7) = New Integer() {0, 4, 1, 6, 2, 8, 5, 3}
a(8) = New Integer() {0, 4, 9, 6, 3, 5, 7}
a(9) = New Integer() {0, 1, 5, 9, 7, 6, 2, 4, 3, 8}
For i As Integer = 0 To a.GetUpperBound(0)
b = "第" i + 1 "行有" a(i).GetUpperBound(0) + 1 "個數" vbCrLf
Next
MessageBox.Show(b)
一維數組就是一行人,人的位置用站在第幾個來形容。
二維就是排成幾行幾列的人,人的位置第幾行第幾個來形容。
三維就是幾行幾列的人摞了好幾層,某人的位置用第幾層第幾行第幾個來形容。
以此類推。
比如
四維數組就是好幾天里每天來一群人排成三維數組,某人的位置就是第幾天來的第幾層的第幾行的第幾個人。
數學里學過的
當前文章:vb.net數組的維數,VB一維數組
標題URL:http://m.kartarina.com/article38/hdohpp.html
成都網站建設公司_創新互聯,為您提供、外貿建站、全網營銷推廣、網站收錄、網站制作、電子商務
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯