當(dāng)前位置:首頁(yè)文章首頁(yè) IT學(xué)院 IT技術(shù)

ASP中定義數(shù)組方法分享

作者:  來(lái)源:  發(fā)布時(shí)間:2011-6-25 11:18:58  點(diǎn)擊:
例如,雖然可以將一個(gè)聲明為整型的變量賦給一個(gè)聲明為長(zhǎng)整型的變量而不會(huì)產(chǎn)生任何問(wèn)題,但是將一個(gè)長(zhǎng)整型變量賦給一個(gè)整型變量就很容易導(dǎo)致溢出錯(cuò)誤。除了遵守有關(guān)數(shù)據(jù)類型變量之間賦值時(shí)的規(guī)則外,數(shù)組賦值還要遵從另外一些規(guī)則,包括數(shù)組維數(shù),每一維的大小,以及數(shù)組是固定的還是動(dòng)態(tài)的。

①維數(shù)、數(shù)據(jù)類型不同的數(shù)組賦值考慮的幾個(gè)因素

l 賦值符左邊的數(shù)組類型:固定數(shù)組 (Dim x(1 to 10) As Integer) 或者動(dòng)態(tài)數(shù)組 (Dim x() As Integer)。

l 賦值符左邊數(shù)組的維數(shù)是否和賦值符右邊數(shù)組的維數(shù)匹配。

l 賦值符兩邊數(shù)組的每一維的數(shù)組元素個(gè)數(shù)是否匹配。即使數(shù)組的聲明不同,維數(shù)也可能匹配。比如一個(gè)數(shù)組的每一維元素從 0 開(kāi)始編號(hào)而另一個(gè)則從 1 開(kāi)始,維數(shù)也可能匹配。

l 賦值符兩邊所有元素的數(shù)據(jù)類型必須是相容的。這些規(guī)則和變量賦值的規(guī)則是一致的。

表3-6顯示了這些因素的影響:


數(shù)組賦值時(shí)的錯(cuò)誤可能發(fā)生在編譯時(shí),也可能發(fā)生在運(yùn)行時(shí)(例如,如果數(shù)據(jù)類型不能強(qiáng)制轉(zhuǎn)換或賦值試圖重新聲明 (ReDim) 一個(gè)靜態(tài)數(shù)組)。設(shè)計(jì)程序時(shí)要添加錯(cuò)誤處理以確保數(shù)組在賦值之前是匹配的。

②編寫返回?cái)?shù)組的函數(shù)

從一個(gè)函數(shù)返回一組值是可能實(shí)現(xiàn)的。例如,從一個(gè)函數(shù)返回一組字節(jié)而不必將其先轉(zhuǎn)換為一個(gè)字符串然后再轉(zhuǎn)換回來(lái)。

下面是一個(gè)使用返回字節(jié)數(shù)組的函數(shù)的簡(jiǎn)單示例:

Private Sub Form_Load()

Dim b As Byte

Dim i As Integer

Dim ReturnArray() As Byte

b = Cbyte(54)

ReturnArray() = ArrayFunction(b) ’調(diào)用函數(shù)

For i = Lbound(ReturnArray) To Ubound(ReturnArray)

Msgbox ReturnArray(i)  ’通過(guò)彈出消息框循環(huán)顯示數(shù)組值

Next

End Sub



Public Function ArrayFunction(b As Byte) As Byte()

Dim x(2) As Byte

x(0) = b

x(1) = b + CByte(200)

x(2) = b + b

ArrayFunction = x ’返回結(jié)果為數(shù)組x

End Function

在運(yùn)行以上示例后, ReturnArray() 是一個(gè)三元素?cái)?shù)組,其中包含了分配給 ArrayFunction 中數(shù)組的值。ArrayFunction 語(yǔ)句將一個(gè)數(shù)組作為參數(shù)傳遞;且數(shù)組的數(shù)據(jù)類型必須和函數(shù)的數(shù)據(jù)類型相同(在本例中是字節(jié))。因?yàn)檫@是一個(gè)函數(shù)調(diào)用,傳遞數(shù)組時(shí)不必帶括號(hào)。

注意:

1.盡管可以通過(guò)賦值給另一個(gè)數(shù)組(ArrayFunction = x())來(lái)返回一個(gè)數(shù)組,但出于性能方面的考慮,并不推薦使用這種方法。

2.必須為返回?cái)?shù)組的函數(shù)指定一個(gè)類型,這個(gè)類型可以是 Variant。這樣一來(lái),F(xiàn)unction X() As Variant() 是有效的而 Function X() As () 將失敗。

3.當(dāng)調(diào)用一個(gè)返回?cái)?shù)組的函數(shù)時(shí),用來(lái)保存返回值的變量也必須是一個(gè)數(shù)組,而且其數(shù)據(jù)類型必須和函數(shù)返回類型相同,否則將顯示一個(gè)“類型不匹配”的錯(cuò)誤。

相關(guān)軟件

相關(guān)文章

文章評(píng)論

軟件按字母排列: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z