日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

ASP 动态数组

發布時間:2024/4/15 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ASP 动态数组 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
A ? 定義數組 ?
? ?
? 有兩種方式:DIM和REDIM。 ?
? ?
? DIM定義的是固定個數、數據類型的數組;而REDIM則不同,它可以定義不同類型的數據,也可以定義個數并非固定的數據。比較下面幾個例子。 ? 都合法的例子: ?
? ?
? ? 程序代碼 ?
? ?
? Dim ? myarray(5,2) ? ?
? Redim ? myarray(5,2) ?
? ?
? ?
? 前者錯誤而后者合法的例子: ?
? ?
? n=10 ? n=10 ?
? ?
? Dim ? myarray(n) ? ?
? Redim ? myarray(n,2) ?
? 另外REDIM還可以定義未定類型的數組,如:Redim ? myarray(10) ?
? ?
?   ?
? ?
? B ? 數組個數 ?
? ?
? 在以DIM或REDIM定義數組時指定的下標,表示的是訪問該數組時所容許的最大下標,卻不是該數組的個數。實際上,一維數組個數總是等于(最大下標+1),訪問時是通過下標從0開始逐個訪問的。 ?
? ?
? 比如:Dim ? myarray(5) ? 定義的數組元素有6個,分別是:myarray(0)、myarray(1)、myarray(2)、myarray(3)、myarray(4)、myarray(5)。 ?
? ?
? 再如:Redim ? thisarray(2,5)實際上定義了一個(2+1)*(5+1)=1 ? 8的二維數組。 ?
? ?
? 既然如此,那么,可不可義定義一個只有一個元素的數組呢?答案是:不可以。 ?
? ?
? 如前所說,Redim ? thisarray(1)定義的數組實際上有(1+1)個數組元素,但類似于: ? Redim ? thisarray(0)的語法,錯誤的。所以,不能定義一個只有一個數組元素的數組。 ? 其實,以上說的只是其默認狀況。其實,定義數組可以通過定義下標的起止從而達到定義數組的個數甚至下標的起止編號的。比如:Redim ? thisarray(1980 ? to1990)就 ? 定義了一個含有11個元素的數組,下標從1980到1990。 ?
? ?
?   ?
? ?
? C ? 關于UBOUND函數 ?
? ?
? UBOUND返回的是一維數組的最大下標,而不是元素個數。 ? 比如:Dim ? Myarray(5),那么UBOUND(Myarray)返回的值是5,而不是6。 ? UBOUND也可以應用于二維數組。應用于二維數組時,它返回的是第一個下標的最大值。 ?
? ?
? 比如:Dim ? Myarray(6,3), ?
? ?
? 那么UBOUND(Myarray)返回的值是6,而不是7,更不是18(6*3=18)。 ?
? ?
? 若要返回第二個下標的最大值,則使用:UBOUND(Myarray,2)。 ?
? ?
? 與UBOUND相對應的是另外一個函數:LBOUND,它返回數組的最小下標。與UBOUND類似,LBOUND(Myarray,2)則返回數組 MYARRAY的第二個下標的最小值。所以,準確地說,一維數組Myarray的元素個數為:UBOUND(Myarray)-LBOUND (Myarray)+1,而二維數組的元素個數則為: ?
? ?
? (UBOUND(Myarray)-LBOUND(Myarray)+1)*(UBOUND(Myarray,2)-LBOUND(Myarray,2)+1) ?
? ?
? 多維數組依此類推。 ?
? ?
? 數組的定義 ?
? ?
? ? 程序代碼 ?
? ?
? Dim ? MyArray ?
? MyArray ? = ? Array(1,5,123,12,98) ?
? ?
? ?
? ?
? ?
? 可擴展數組 ?
? ?
? ? 程序代碼 ?
? ?
? Dim ? MyArray() ?
? for ? i ? = ? 0 ? to ? 10 ?
? ReDim ? Preserve ? MyArray(i) ?
? MyArray(i)=i ?
? next ?
? ?
? ?
? ?
? 將一個字符串分割并返回分割結果的數組 ?
? ?
? ? 程序代碼 ?
? ?
? Dim ? MyArray ?
? MyArray ? = ? Split(tempcnt,chr(13)&chr(10)) ?
? For ? I ? = ? Lbound(MyArray) ? to ? Ubound(MyArray) ?
? Response.Write ? MyArray(I) ? & ? "<br>" ?
? Next ?
? ?
? ?
? ?
? 數組排序函數 ?
? ?
? ? 程序代碼 ?
? ?
? 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 ?
? ?
? ?
? ?
? 數組排序函數應用例子 ?
? ?
? ? 程序代碼 ?
? ?
? 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 ?
? ?
? ?
? ?
? 在Application和Session中使用數組 ?
? ?
? ? 程序代碼 ?
? ?
? Application.Lock ?
? Application("StoredArray") ? = ? MyArray ?
? Application.Unlock ?
? ?
? LocalArray ? = ? Application("StoredArray") ?
? ?
? ?
? ?
? ?
? 覆蓋Application中的數組 ?
? ?
? ? 程序代碼 ?
? ?
? Application.Lock ?
? Application("StoredArray") ? = ? LocalArray ?
? Application.Unlock ?
? ?
? ?
? ?
? Session使用方法與Application相同 ?
? ?
? 從數據庫中把數據導入數組中 ?
? ?
? ?
? ?
? ? 程序代碼 ?
? ?
? Dim ? MyArray ?
? 取出全部記錄 ?
? MyArray ? = ? RS.GetRows ?
? 取出前10項記錄 ?
? 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

轉載于:https://www.cnblogs.com/geoff/archive/2007/10/07/915962.html

總結

以上是生活随笔為你收集整理的ASP 动态数组的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。