當前位置:首頁文章首頁 IT學院 IT技術

ASP中定義數組方法分享

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

①維數、數據類型不同的數組賦值考慮的幾個因素

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

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

l 賦值符兩邊數組的每一維的數組元素個數是否匹配。即使數組的聲明不同,維數也可能匹配。比如一個數組的每一維元素從 0 開始編號而另一個則從 1 開始,維數也可能匹配。

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

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


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

②編寫返回數組的函數

從一個函數返回一組值是可能實現的。例如,從一個函數返回一組字節(jié)而不必將其先轉換為一個字符串然后再轉換回來。

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

Private Sub Form_Load()

Dim b As Byte

Dim i As Integer

Dim ReturnArray() As Byte

b = Cbyte(54)

ReturnArray() = ArrayFunction(b) ’調用函數

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

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

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 ’返回結果為數組x

End Function

在運行以上示例后, ReturnArray() 是一個三元素數組,其中包含了分配給 ArrayFunction 中數組的值。ArrayFunction 語句將一個數組作為參數傳遞;且數組的數據類型必須和函數的數據類型相同(在本例中是字節(jié))。因為這是一個函數調用,傳遞數組時不必帶括號。

注意:

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

2.必須為返回數組的函數指定一個類型,這個類型可以是 Variant。這樣一來,Function X() As Variant() 是有效的而 Function X() As () 將失敗。

3.當調用一個返回數組的函數時,用來保存返回值的變量也必須是一個數組,而且其數據類型必須和函數返回類型相同,否則將顯示一個“類型不匹配”的錯誤。

相關軟件

相關文章

文章評論

軟件按字母排列: 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