国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開(kāi)發(fā)設(shè)計(jì) > 正文

ASP數(shù)組全集,多維數(shù)組和一維數(shù)組

2019-11-17 04:14:24
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

asp數(shù)組是比較好用的裝載大量數(shù)據(jù)的容器。

1、定義數(shù)組

有兩種方式:DIM和REDIM。

DIM定義的是固定個(gè)數(shù)、數(shù)據(jù)類(lèi)型的數(shù)組;而REDIM則不同,它可以定義不同類(lèi)型的數(shù)據(jù),也可以定義個(gè)數(shù)并非固定的數(shù)據(jù)。比較下面幾個(gè)例子。 都合法的例子:


 程序代碼
Dim myarray(5,2)
Redim myarray(5,2)


前者錯(cuò)誤而后者合法的例子:


 程序代碼
n=10

Dim myarray(n)
Redim myarray(n,2)


另外REDIM還可以定義未定類(lèi)型的數(shù)組,如:
 程序代碼
Redim myarray(10)
 

2、數(shù)組個(gè)數(shù)

在以DIM或REDIM定義數(shù)組時(shí)指定的下標(biāo),表示的是訪問(wèn)該數(shù)組時(shí)所容許的最大下標(biāo),卻不是該數(shù)組的個(gè)數(shù)。實(shí)際上,一維數(shù)組個(gè)數(shù)總是等于(最大下標(biāo)+1),訪問(wèn)時(shí)是通過(guò)下標(biāo)從0開(kāi)始逐個(gè)訪問(wèn)的。

比如:
 程序代碼
Dim myarray(5)
定義的數(shù)組元素有6個(gè),分別是:


 引用內(nèi)容
myarray(0)、myarray(1)、myarray(2)、myarray(3)、myarray(4)、myarray(5)


再如:
 程序代碼
Redim thisarray(2,5)
實(shí)際上定義了一個(gè)(2+1)*(5+1)=1 8的二維數(shù)組。

既然如此,那么,可不可義定義一個(gè)只有一個(gè)元素的數(shù)組呢?答案是:不可以。

如前所說(shuō),
 程序代碼
Redim thisarray(1)
定義的數(shù)組實(shí)際上有(1+1)個(gè)數(shù)組元素,但類(lèi)似于:
 程序代碼
Redim thisarray(0)
的語(yǔ)法,錯(cuò)誤的。所以,不能定義一個(gè)只有一個(gè)數(shù)組元素的數(shù)組。 其實(shí),以上說(shuō)的只是其默認(rèn)狀況。其實(shí),定義數(shù)組可以通過(guò)定義下標(biāo)的起止從而達(dá)到定義數(shù)組的個(gè)數(shù)甚至下標(biāo)的起止編號(hào)的。比如:
 程序代碼
Redim thisarray(1980 to1990)
就 定義了一個(gè)含有11個(gè)元素的數(shù)組,下標(biāo)從1980到1990。 

3、關(guān)于UBOUND函數(shù)

UBOUND返回的是一維數(shù)組的最大下標(biāo),而不是元素個(gè)數(shù)。 比如:
 程序代碼
Dim Myarray(5)
,那么
 程序代碼
UBOUND(Myarray)
返回的值是5,而不是6。 UBOUND也可以應(yīng)用于二維數(shù)組。應(yīng)用于二維數(shù)組時(shí),它返回的是第一個(gè)下標(biāo)的最大值。

比如:
 程序代碼
Dim Myarray(6,3)
, 那么
 程序代碼
UBOUND(Myarray)
返回的值是6,而不是7,更不是18(6*3=18)。

若要返回第二個(gè)下標(biāo)的最大值,則使用:
 程序代碼
UBOUND(Myarray,2)

與UBOUND相對(duì)應(yīng)的是另外一個(gè)函數(shù):LBOUND,它返回?cái)?shù)組的最小下標(biāo)。與UBOUND類(lèi)似,LBOUND(Myarray,2)則返回?cái)?shù)組MYARRAY的第二個(gè)下標(biāo)的最小值。所以,準(zhǔn)確地說(shuō),一維數(shù)組Myarray的元素個(gè)數(shù)為:
 程序代碼
UBOUND(Myarray)-LBOUND(Myarray)+1
,而二維數(shù)組的元素個(gè)數(shù)則為:


 程序代碼
(UBOUND(Myarray)-LBOUND(Myarray)+1)*(UBOUND(Myarray,2)-LBOUND(Myarray,2)+1)
http://www.survivalescaperooms.com/

多維數(shù)組依此類(lèi)推。

4、數(shù)組的定義


 程序代碼
Dim MyArray
MyArray = Array(1,5,123,12,98)


可擴(kuò)展數(shù)組


 程序代碼
Dim MyArray()
for i = 0 to 10
ReDim PReserve MyArray(i)
MyArray(i)=i
next


將一個(gè)字符串分割并返回分割結(jié)果的數(shù)組


 程序代碼
Dim MyArray
MyArray = Split(tempcnt,chr(13)&chr(10))
For I = Lbound(MyArray) to Ubound(MyArray)
Response.Write MyArray(I) & "<br>"
Next


5、數(shù)組排序函數(shù)


 程序代碼
Function Sort(ary)
KeepChecking = TRUE
Do Until KeepChecking = FALSE
KeepChecking = FALSE
For I = 0 to UBound(ary)
If I = UBound(ary) Then Exit For
If ary(I) > ary(I+1) Then
FirstValue = ary(I)
SecondValue = ary(I+1)
ary(I) = SecondValue
ary(I+1) = FirstValue
KeepChecking = TRUE
End If
Next
Loop
Sort = ary
End Function


數(shù)組排序函數(shù)應(yīng)用例子


 程序代碼
Dim MyArray
MyArray = Array(1,5,123,12,98)
MyArray = Sort(MyArray)
For I = Lbound(MyArray) to Ubound(MyArray)
Response.Write MyArray(I) & "<br>"
Next


6、在applicationsession中使用數(shù)組


 程序代碼
Application.Lock
Application("StoredArray") = MyArray
Application.Unlock 

LocalArray = Application("StoredArray")


覆蓋Application中的數(shù)組


 程序代碼
Application.Lock
Application("StoredArray") = LocalArray
Application.Unlock


Session使用方法與Application相同

7、從數(shù)據(jù)庫(kù)中把數(shù)據(jù)導(dǎo)入數(shù)組中

這種方法被我經(jīng)常用于代碼的函數(shù)集成中。


 程序代碼
Dim MyArray
取出全部記錄
MyArray = RS.GetRows
取出前10項(xiàng)記錄
MyArray = RS.GetRows(10) 

For row = 0 To UBound(MyArray, 2)
For col = 0 To UBound(MyArray, 1)
Response.Write (col, row) & "<br>"
Next
Next


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 乳山市| 虞城县| 江城| 盈江县| 珠海市| 东光县| 渭南市| 原阳县| 额尔古纳市| 吉林市| 长白| 双峰县| 廉江市| 孙吴县| 鹤壁市| 全州县| 木兰县| 慈溪市| 盐城市| 郎溪县| 海伦市| 贡觉县| 宜君县| 琼海市| 克东县| 改则县| 吉林省| 陵川县| 德保县| 长阳| 屯门区| 溧阳市| 济阳县| 平武县| 达尔| 白玉县| 望都县| 罗甸县| 峡江县| 曲水县| 宁蒗|