亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

VisualBasic變量、常數和數據類型及過程概述四

2019-11-18 17:43:41
字體:
來源:轉載
供稿:網友

    Variant變量中存儲的Objects
    可以將Objects存儲在Variant變量中。當需要高效地處理包括Objects在內的各種數據類型時,這可能十分有用。例如,一個數組中的所有元素都必須具有相同的數據類型。將數組的數據類型設置成Variant就可將Objects連同其它數據類型一起存入同一個數組中。

    數組
    如果有過用其它語言編程的經歷,那么想必會熟悉數組的概念。由于有了數組,可以用相同名字引用一系列變量,并用數字(索引)來識別它們。在許多場合,使用數組可以縮短和簡化程序,因為可以利用索引值設計一個循環,高效處理多種情況。數組有上界和下界,數組的元素在上下界內是連續的。因為VisualBasic對每一個索引值都分配空間,所以不要不切實際聲明一個太大的數組。
    注意這一部分討論的數組是程序中聲明的變量數組。它們不同于控件數組,控件數組是在設計時通過設置控件的Index屬性規定的。變量數組總是連續的;與控件數組不同的是,不能從一個數組的中部加載或卸載數組元素。
    一個數組中的所有元素具有相同的數據類型。當然,當數據類型為Variant時,各個元素能夠包含不同種類的數據(對象、字符串、數值等等)??梢月暶魅魏位緮祿愋偷臄到M,包括用戶定義的類型(請參閱第八章“再論編程”中的“創建自己的數據類型”)和對象變量(請參閱第九章“用對象編程”)。
    在VisualBasic中有兩種類型的數組:固定大小的數組——它總是保持同樣的大小,以及在運行時大小可以改變的動態數組。在本章后面的“動態數組”中將要詳細討論動態數組。

    聲明固定大小的數組
    有三種方法聲明固定大小的數組,用哪一種方法取決于數組應有的有效范圍:
     建立公用數組,在模塊的聲明段用Public語句聲明數組。
     建立模塊級數組,在模塊的聲明段用        MsgBoxarrX(2)(3)
     EndSub

    多維數組
    有時需要追蹤記錄數組中的相關信息。例如,為了追蹤記錄計算機屏幕上的每一個像素,需要引用它的X、Y坐標。這時應該用多維數組存儲值。可用VisualBasic聲明多維數組。例如,下面的語句聲明了一個過程內的10×10的二維數組。
    StaticMatrixA(9,9)AsDouble
    可用顯式下界來聲明兩個維數或兩個維數中的任何一個:
    StaticMatrixA(1To10,1To10)AsDouble
    可以將所有這些推廣到二維以上的數組。例如:
    DimMultiD(3,1To10,1To15)
    這個聲明建立了三維數組,大小為4×10×15。元素總數為三個維數的乘積,為600。
    注意在增加數組的維數時,數組所占的存儲空間會大幅度增加,所以要慎用多維數組。使用Variant數組時更要格外小心,因為它們需要更大的存儲空間。

    用循環操作數組
    可以用For循環嵌套有效的處理多維數組。例如,在MatrixA中基于每個元素在數組中的位置為其賦值:
    DimIAsInteger,JAsInteger
    StaticMatrixA(1To10,1To10)AsDouble
    ForI=1To10
       ForJ=1To10
         MatrixA(I,J)=I*10 J
       NextJ
    NextI
    詳細信息關于循環的詳細信息,請參閱本章后面的“循環結構”部分。

    動態數組
    數組到底應該有多大才合適,有時可能不得而知。所以希望能夠在運行時具有改變數組大小的能力。
    動態數組就可以在任何時候改變大小。在VisualBasic中,動態數組最靈活、最方便,有助于有效管理內存。例如,可短時間使用一個大數組,然后,在不使用這個數組時,將內存空間釋放給系統。
    如果不用動態數組,就要聲明一個數組,它的大小盡可能達到最大,然后再抹去那些不必要的元素。但是,如果過度使用這種方法,會導致內存的操作環境變慢。
    要創建動態數組,請按照以下步驟執行:
    1.(如果希望數組為公用數組,則)用Public語句聲明數組,或者(如果希望數組為模塊級,則)在模塊級用Dim語句聲明數組,或者(如果希望數組為局部數組,則)在過程中用Static或Dim語句聲明數組。給數組附以一個空維數表,這樣就將數組聲明為動態數組。
     DimDynArray()
    2.用ReDim語句分配實際的元素個數。
     ReDimDynArray(X 1)
    ReDim語句只能出現在過程中。與Dim語句、Static語句不同,ReDim語句是一個可執行語句,由于這一語句,應用程序在運行時執行一個操作。ReDim語句支持這樣的語法,它與固定數組中使用的語法相同。對于每一維數,每個ReDim語句都能改變元素數目以及上下界。但是,數組的維數不能改變。
    ReDimDynArray(4to12)
    例如,用第一次聲明在模塊級所建立的動態數組Matrix1:
    DimMatrix1()AsInteger
    然后,在過程中給數組分配空間:
    SubCalcValuesNow()
    .
    .
    .
        ReDimMatrix1(19,29)
    EndSub
    這里的ReDim語句給Matrix分配一個20×30的整數矩陣(元素總大小為600)。還有一個辦法,用變量設置動態數組的邊界:
    ReDimMatrix1(X,Y)
    注意您可以將字符串賦值給大小可變的字節數組。一個字節數組也可以被賦值給一個可變長的字符串。一定要注意字符串中的字節數會隨平臺而變化。同一個字符串在Unicode平臺上的字節數是它在非Unicode平臺上的兩倍。

    保留動態數組的內容
    每次執行ReDim語句時,當前存儲在數組中的值都會全部丟失。VisualBasic重新將數組元素的值置為Empty(對Variant數組)、置為0(對Numeric數組)、置為零長度字符串(對String數組)或者置為Nothing(對于對象的數組)。
    在為新數據準備數組,或者要縮減數組大小以節省內存時,這樣做是非常有用的。有時希望改變數組大小又不丟失數組中的數據。使用具有Preserve關鍵字的ReDim語句就可做到這點。例如,使用UBound函數引用上界,使數組擴大、增加一個元素,而現有元素的值并未丟失:
    ReDimPreserveDynArray(UBound(DynArray) 1)
在用Preserve關鍵字時,只能改變多維數組中最后一維的上界;如果改變了其它維或最后一維的下界,那么運行時就會出錯。所以可這樣編程:
    ReDimPreserveMatrix(10,UBound(Matrix,2) 1)
而不可這樣編程:
    ReDimPreserveMatrix(UBound(Matrix,1) 1,10)
    詳細信息關于動態數組的更詳細信息,請參閱語言參考中的“ReDim函數”。關于對象數組,請參閱第九章“用對象編程”。

->


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久高清视频免费| 久久精品亚洲热| 中文在线不卡视频| 国产精品偷伦视频免费观看国产| 国产精品久久久久久av| 欧美黄色小视频| 欧美成人中文字幕| 久久久久久国产精品美女| 欧美专区国产专区| 91精品国产综合久久香蕉最新版| 亚洲一区二区在线| 欧美精品video| 国产精品手机播放| 亚洲第一福利网站| 亚洲aa中文字幕| 亚洲精品99久久久久中文字幕| 欧美精品电影免费在线观看| 狠狠躁夜夜躁久久躁别揉| 国产精品av免费在线观看| 亚洲欧美日韩国产中文专区| 亚洲在线第一页| 日日骚av一区| 97av在线视频| 色中色综合影院手机版在线观看| 久久视频在线看| 国产精品嫩草影院一区二区| 色婷婷av一区二区三区久久| 中文字幕欧美亚洲| 午夜精品一区二区三区在线视频| 国产成人鲁鲁免费视频a| 国模叶桐国产精品一区| 日韩精品在线观看一区二区| 欧美不卡视频一区发布| 日韩最新在线视频| 亚洲桃花岛网站| 久久久精品在线| 久久久久久亚洲| 777午夜精品福利在线观看| www欧美xxxx| 亚洲女人天堂av| 成人午夜高潮视频| 亚洲精品资源在线| 成人美女免费网站视频| 亚洲电影免费观看高清完整版在线| 日韩av日韩在线观看| 久久免费国产精品1| 日韩www在线| 亚洲国产精品系列| 8050国产精品久久久久久| 亚洲色图第一页| 91久久久久久久久久久久久| 美女国内精品自产拍在线播放| 欧美激情久久久久| 亚洲精品乱码久久久久久按摩观| 欧美性受xxxx黑人猛交| 最近2019免费中文字幕视频三| 国产精品av网站| 一个人看的www欧美| 精品视频偷偷看在线观看| 欧美激情一区二区三区在线视频观看| 日韩三级影视基地| 国产精品主播视频| 久久久精品国产亚洲| 在线日韩中文字幕| 亚洲永久在线观看| 精品美女国产在线| 国模私拍一区二区三区| 欧美另类暴力丝袜| 欧美日韩亚洲一区二区三区| 宅男66日本亚洲欧美视频| 日韩av片电影专区| 日韩一二三在线视频播| 欧美成人精品一区二区| 亚洲欧美日韩一区在线| 欧美视频国产精品| 日韩中文字幕在线免费观看| 日韩在线观看免费全| 97av在线影院| 福利二区91精品bt7086| 欧美成人午夜免费视在线看片| 亚洲人成在线免费观看| 中文字幕在线日韩| 久久偷看各类女兵18女厕嘘嘘| 国产精品久久久久国产a级| 日本亚洲欧洲色α| 久久久久久有精品国产| 国产亚洲欧美日韩精品| 日韩在线免费观看视频| 日韩精品久久久久久福利| 亚洲精品欧美日韩专区| 欧美成人免费全部观看天天性色| 欧洲日韩成人av| 久久久在线观看| 久久久久女教师免费一区| 精品久久久国产| 68精品国产免费久久久久久婷婷| 国产91亚洲精品| 欧美激情喷水视频| 午夜免费久久久久| 国产精品久久久久9999| 欧美在线视频a| 欧美日韩在线第一页| 欧美激情精品久久久久久久变态| 久久大大胆人体| 中文字幕亚洲欧美在线| 国内精久久久久久久久久人| 欧美激情女人20p| 日韩精品中文在线观看| 欧美亚洲日本黄色| 欧美贵妇videos办公室| 日韩av影视在线| 国产一区二区三区在线播放免费观看| 久久久久久亚洲精品中文字幕| 欧美精品videofree1080p| 精品福利在线视频| 久久天天躁狠狠躁老女人| 免费成人高清视频| 日韩性xxxx爱| 亚洲欧美日韩中文在线制服| 国产伦精品免费视频| 亚洲精品乱码久久久久久按摩观| 国产精品老牛影院在线观看| 亚洲免费中文字幕| 91av在线播放视频| 国产精品久久二区| 97超级碰碰人国产在线观看| 国产精品久久久久久网站| 成人中心免费视频| 欧美天天综合色影久久精品| 亚洲激情在线观看| 国语自产精品视频在线看抢先版图片| 欧美日韩亚洲成人| 国产日本欧美一区二区三区在线| 欧美成人午夜视频| 国产精品爽爽ⅴa在线观看| 亚洲第一页自拍| 欧美日韩一区免费| 国产成人av在线| 亚洲影院色无极综合| 欧美精品久久久久久久久久| 57pao国产精品一区| 国产成人avxxxxx在线看| 亚洲小视频在线观看| 欧美亚洲另类制服自拍| 欧美乱妇高清无乱码| 成人字幕网zmw| 国产精品久久久久久中文字| zzijzzij亚洲日本成熟少妇| 久久久亚洲福利精品午夜| 亚洲高清在线观看| 国产亚洲精品久久久久久777| 久久精品国产亚洲精品| 亚洲精品www久久久| 久久综合九色九九| 亚洲娇小xxxx欧美娇小| 欧美激情性做爰免费视频| 国内外成人免费激情在线视频网站| 91九色国产视频| 日韩电视剧免费观看网站| 欧美日韩日本国产| 精品久久久久国产| 国产一区二区三区日韩欧美| 亚洲美女又黄又爽在线观看| 成人免费在线网址|