VB.NET數(shù)組應(yīng)用方法介紹
VB.NET中有一個(gè)比較重要的部分,那就是數(shù)組的應(yīng)用。在實(shí)際編程中,它通常都會(huì)是一個(gè)代碼程序中重要的組成部分。除了使用單個(gè)變量,VB.NET數(shù)組的應(yīng)用可以方便地存儲(chǔ)一系列相關(guān)的數(shù)據(jù)。數(shù)組分為一維數(shù)組和多維數(shù)組。一維數(shù)組如下定義:#t#
Dim arrData(2) as String
這個(gè)Dim語(yǔ)句定義了一個(gè)長(zhǎng)度為3的一維數(shù)組arrData。它的下標(biāo)的范圍從0~2,即可以訪問(wèn)arrData(0)、arrData(1)、arrData(2),而數(shù)組中所有的數(shù)據(jù)都是String類型。
多維數(shù)組就是維數(shù)大于1的數(shù)組。最常見(jiàn)的是二維數(shù)組和三維數(shù)組。二維數(shù)組的定義方式如下:
Dim arrData(2,3) as String
這個(gè)Dim語(yǔ)句定義了一個(gè)3×4的數(shù)組,共有12個(gè)單元。與一維數(shù)組一樣,它的下標(biāo)范圍是***維從0~2,第二維從0~3。以此類推,可以定義三維數(shù)組或維數(shù)更多的數(shù)組。在VB.NET中數(shù)組的維數(shù)最多可以定義到60,但很少有人會(huì)用到維數(shù)超過(guò)三維的數(shù)組。
在VB.NET數(shù)組中還可以定義動(dòng)態(tài)數(shù)組,即長(zhǎng)度不確定的數(shù)組。例如,可以在程序開(kāi)始的時(shí)候定義一個(gè)動(dòng)態(tài)數(shù)組:
Dim arrData()
在這里,沒(méi)有指明數(shù)組arrData的長(zhǎng)度,也不知道它的維數(shù),因此這個(gè)數(shù)組在程序中是不能直接使用的。因?yàn)樗械臄?shù)組都需要有連續(xù)的內(nèi)存空間來(lái)存放,如果沒(méi)有定義數(shù)組的維數(shù)和每一維的長(zhǎng)度,就意味著無(wú)法為數(shù)組分配內(nèi)存空間。所以VB.NET要求在使用動(dòng)態(tài)數(shù)組之前用ReDim語(yǔ)句為這個(gè)數(shù)組指明維數(shù)和每一維的長(zhǎng)度。方法如下:
ReDim arrData(2)
這個(gè)時(shí)候,才可以使用arrData數(shù)組。注意,如果一個(gè)數(shù)組在定義的時(shí)候不是動(dòng)態(tài)數(shù)組,就不能使用ReDim語(yǔ)句對(duì)VB.NET數(shù)組重新定義。另外,對(duì)于已經(jīng)使用ReDim重定義過(guò)的動(dòng)態(tài)數(shù)組,可以使用ReDim重新再定義這個(gè)數(shù)組的長(zhǎng)度,但是不能使用ReDim來(lái)重新定義數(shù)組的維數(shù)。也就是說(shuō),如果已經(jīng)定義了一個(gè)動(dòng)態(tài)數(shù)組arrData(),可以在后面的程序中把它重新定義為一個(gè)一維的數(shù)組(如ReDim arrData(2)),而不允許再把它定義為一個(gè)二維的數(shù)組(如ReDim arrData(2,3)),但是可以把它再次重定義為一個(gè)長(zhǎng)度為5的一維數(shù)組(ReDim arrData(4))。