第6章數(shù)組與集合_第1頁
第6章數(shù)組與集合_第2頁
第6章數(shù)組與集合_第3頁
第6章數(shù)組與集合_第4頁
第6章數(shù)組與集合_第5頁
已閱讀5頁,還剩68頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

VB.NET程序設(shè)計實訓教程第6章數(shù)組與集合6.1數(shù)組6.2數(shù)組重定義6.3對象數(shù)組6.4集合與控件數(shù)組6.5實訓練習66.1數(shù)組6.1.1數(shù)組的分類1.VB.NET中的數(shù)組分類(1)按數(shù)組的大?。ㄔ貍€數(shù))是否可以改變可分為:固定大?。ǘㄩL)數(shù)組、動態(tài)(可變長)數(shù)組。(2)按元素的數(shù)據(jù)類型可分為:數(shù)值型數(shù)組(整型、實型)、字符串數(shù)組、邏輯型數(shù)組、日期型數(shù)組等,這些都是基本數(shù)據(jù)類型的數(shù)組,數(shù)組類型也可以是Object類型。(3)按數(shù)組的維數(shù)可分為:一維數(shù)組和二維數(shù)組、三維數(shù)組等多維數(shù)組。

2.按作用域分類與變量一樣,數(shù)組按作用域分可為:全局數(shù)組(應用程序級)、模塊級數(shù)組和局部數(shù)組(過程級)。(1)全局數(shù)組:在標準模塊的聲明部分使用Public聲明,其作用范圍是整個應用程序,可以在應用程序的所有模塊中訪問數(shù)組。(2)模塊級數(shù)組:在模塊的聲明部分使用Private或Dim語句(二者等價)聲明,模塊級數(shù)組只在聲明它的模塊中可用。(3)過程級數(shù)組:在過程中使用Dim或Static語句聲明,只能在本過程中使用。使用Static聲明的靜態(tài)數(shù)組,在過程的兩次執(zhí)行之間它的所有元素的值均被保留。6.1.2一維數(shù)組1.一維數(shù)組的聲明數(shù)組的聲明格式為(兩種格式)格式一:Dim數(shù)組名(下標上界)?As?<數(shù)據(jù)類型>例如:DimarrData(2)asStringDimarrA(5)AsInteger說明:①按作用域不同,關(guān)鍵字Dim可以換成Public、Static②數(shù)組名的命名規(guī)則與變量的命名規(guī)則相同。③VB.NET數(shù)組下界為0,且不能更改(與舊版本VB不同),數(shù)組的元素個數(shù)為:下標上界+1。④VB.NET中,聲明數(shù)組時,<下標上界>值可以是整型常量、變量或表達式。例如:DimmAsIntegerm=5DimarrA(m)As。⑤聲明數(shù)組時,下標上界最好是整型數(shù)據(jù),如果是浮點數(shù),系統(tǒng)會自動四舍五入取整。例如,DimarrA(4.5)AsIntege下標上界為5⑥數(shù)組中各元素在內(nèi)存占一片連續(xù)的存儲空間。聲明數(shù)組的第二種格式:

Dim數(shù)組名()As數(shù)據(jù)類型1=New數(shù)據(jù)類型2(<下標上界>){}注意:數(shù)據(jù)類型2和數(shù)據(jù)類型1必須相同,下標上界后的一對大括號{}不能省略。①Dim數(shù)組名?As?數(shù)據(jù)類型1()=New?數(shù)據(jù)類型2(<下標上界>){}②Dim數(shù)組名=New?數(shù)據(jù)類型2(<下標上界>){}例如,以下三種格式是等效的:DimarrA()?AsvInteger=NewInteger(4){}DimarrA?As?Integer()=NewInteger(4){}DimarrA=NewInteger(4){}2.一維數(shù)組的引用引用形式:數(shù)組名(下標)定義了數(shù)組后可以引用數(shù)組元素,每個數(shù)組元素有一個唯一序號,稱為下標,下標可以是整型常量、變量或表達式。如果下標不是整數(shù),系統(tǒng)會自動四舍五入取整。例如,定義兩個數(shù)組:DimarrA(10),arrB(10)AsInteger則下面的語句都是正確的:arrA(1)=arrA(2)+arrB(1)+5'下標是整數(shù)arrA(i)=arrB(i)'下標使用變量arrB(i+1)=arrA(i+2)'下標使用表達式引用數(shù)組元素時,VB.BET對下標范圍進行檢查,正確的下標范圍是0~下標上界,超出范圍會提示相應錯誤信息——索引超出了數(shù)組界限。3.一維數(shù)組的基本操作(1)數(shù)組的初始化數(shù)組的初始化是指在聲明數(shù)組的同時為數(shù)組元素賦初值,具體格式有以下兩種:Dim數(shù)組名()?As?數(shù)據(jù)類型={表達式1,表達式2,...,表達式n}Dim數(shù)組名?As?數(shù)據(jù)類型()={表達式1,表達式2,...,表達式n}例如:DimarrA()AsInteger={1,2,3,4,5}注意:①對數(shù)組進行初始化時,不能指定數(shù)組上界。例如,DimarrA(5)AsInteger={1,2,3,4,5},運行時會提示如下錯誤信息“對于用顯式界限聲明的數(shù)組不允許進行顯式初始化”。②數(shù)組長度由花括號內(nèi)數(shù)據(jù)個數(shù)決定。上例中數(shù)組arrA的長度為5。③如果對數(shù)組不進行顯式初始化,系統(tǒng)會進行隱式初始化。數(shù)值型數(shù)組被初始化為0,字符型被初始化為空串“”,布爾型數(shù)組初始化為False,日期型數(shù)組被初始化為01/01/000100:00:00。格式三:Dim數(shù)組名()As數(shù)據(jù)類型1=New數(shù)據(jù)類型2(){表達式1,表達式2,...,表達式n}例如:DimarrA()AsSingle=NewSingle(){1,2,3,4,5}注意:①用New子句初始化時,數(shù)組名后的圓括號可以放到數(shù)據(jù)類型1后面,也可以將數(shù)組名后的圓括號、as和數(shù)據(jù)類型1都省略。②通常數(shù)據(jù)類型2后的圓括號中不指定下標上界,元素個數(shù)由在大括號{}中提供的數(shù)值個數(shù)決定。但也可以同時提供下標上界和元素值,此時,必須為數(shù)組的每個元素都提供初始值,即大括號中的數(shù)值個數(shù)必須為下標上界+1。如上例的聲明可改為:DimarrA()AsSingle=NewSingle(4){1,2,3,4,5}(2)數(shù)組的整體賦值數(shù)組的整體賦值是指先聲明數(shù)組,然后用賦值語句對其進行整體賦值。格式為:Dim數(shù)組名(下標上界n)?As?數(shù)據(jù)類型數(shù)組名={表達式1,表達式2,...,表達式n,表達式n+1}例:Dim?arrA(4)AsIntegerarrA={1,2,3,4,5}在VB.NET中,也可以用一個已知數(shù)組給另一個數(shù)組進行一次性賦值,只要這兩個數(shù)組的數(shù)據(jù)類型相同即可。例如:Dim?arrA(4)?As?Integer={1,2,3,4,5}Dim?arrB(4)?As?IntegerarrB=arrA(3)通過循環(huán)在程序中逐個為數(shù)組元素賦值在編寫程序時已經(jīng)能夠確定各元素值的,可以在循環(huán)體中通過賦值語句賦值。例如:Dim?arrA(9)?As?Integer'arrA數(shù)組索引值范圍為0~9Fori=0To9 arrA(i)=i+1'arrA數(shù)組的元各素值分別為1,2,3,...,9,10Nexti如果是在程序運行時給數(shù)組賦值,可以通過TextBox控件或InputBox函數(shù)逐個輸入數(shù)組各元素值,如果是控制臺應用程序,可以用read或readline來實現(xiàn)。例如,輸入10個數(shù),存入到數(shù)組arrA中,代碼為:Dim?arrA(9)?As?IntegerFori=0To9arrA(i)=Val(InputBox("輸入A("&i&")的值"))Nexti(4)數(shù)組的輸出數(shù)組的輸出,不能通過數(shù)組名進行整體輸出,只能逐個輸出數(shù)組元素。具體地,通過循環(huán)結(jié)構(gòu),使用TextBox控件、label控件,或messagebox函數(shù)輸出數(shù)組元素的值。如果是控制臺應用程序,可以用console.write或console.writeline來輸出。例如:Fori=0To9CallMessageBox.Show(A(i))NextI(5)ForEach...Next循環(huán)的使用利用ForEach...Next循環(huán)可以遍歷數(shù)組中的每個元素,例如:Dim?arrA()?As?string={"A","B","C","D","E"}ForEachstrAsstringInarrA

CallMessageBox.Show(str)Nextstr該語句可以令str依次取數(shù)組arrA中的每個元素值,遍歷數(shù)組arrA。不論數(shù)組有多少個元素,代碼都適用?!纠?-1】創(chuàng)建一個窗體應用程序,程序運行結(jié)果如圖6-1所示。要求定義一個包含10個元素的一維數(shù)組,數(shù)組元素值是隨機產(chǎn)生的10個100以內(nèi)的整數(shù),求數(shù)組中最大元素及所在位置。實現(xiàn)步驟:(1)啟動VS2013,創(chuàng)建窗體應用程序例6-1。(2)按照圖6-1所示設(shè)計應用程序界面。修改三個標簽控件、按鈕控件的Text屬性。(3)在代碼窗口中定義模塊級一維數(shù)組arrA(9)(4)編寫“產(chǎn)生數(shù)組”按鈕的代碼PrivateSubButton1_Click(senderAsObject,eAsEventArgs)HandlesButton1.ClickDimiAsIntegerRandomize()TextBox1.Text=""Fori=0To9A(i)=Int(100*Rnd())TextBox1.Text=TextBox1.Text+CStr(A(i))+","NextTextBox1.Text=Mid(TextBox1.Text,1,Len(TextBox1.Text)-1)EndSub(5)編寫“最大值及其位置”按鈕的代碼。PrivateSubButton2_Click(senderAsObject,eAsEventArgs)HandlesButton2.ClickDimMax,IMaxAsIntegerMax=A(0):IMax=0Fori=1To9IfA(i)>MaxThenMax=A(i)IMax=iEndIfNextiTextBox2.Text=Str(Max)TextBox3.Text=Str(IMax)+1EndSub(6)編寫“退出”按鈕代碼。PrivateSubButton3_Click(senderAsObject,eAsEventArgs)HandlesButton3.ClickApplication.Exit()EndSub(7)運行程序。6.1.3二維數(shù)組1.二維數(shù)組的聲明聲明二維數(shù)組格式為:格式一:Dim數(shù)組名(下標1上界,下標2上界)?As?數(shù)據(jù)類型格式二:Dim數(shù)組名數(shù)據(jù)類型(下標1上界,下標2上界)例如:Dim?arrA(2,3)?As?Single也可以使用

New

子句創(chuàng)建二維數(shù)組,格式為:格式三:Dim數(shù)組名(,)?As?數(shù)據(jù)類型1=New數(shù)據(jù)類型2(下標1上界,下標2上界){}例如,DimarrB(,)?As?Integer=New?Integer(2,3){}2.二維數(shù)組的引用引用形式:數(shù)組名(下標1,下標2)'下標可以是整型變量、常量或表達式例如,arrA(1,2)=10arrA(i+2,j)=arrA(2,3)*23.二維數(shù)組的基本操作(1)二維數(shù)組的初始化格式一:Dim數(shù)組名(,)As數(shù)據(jù)類型={{第1行元素初值序列},{第2行元素初值序列},...,{第m行元素初值序列}}在每行的元素初值序列中,各個數(shù)值要用逗號分開。例如:DimarrA(,)AsInteger={{1,2,3,4},{5,6,7,8},{9,10,11,12}}采用這種格式對二維數(shù)組進行初始化時,也不能指定數(shù)組的下標上界,如果將上述語句改為:DimarrA(2,3)AsInteger={{1,2,3,4},{5,6,7,8},{9,10,11,12}},系統(tǒng)也會報錯。使用New子句初始化二維數(shù)組的格式為:Dim數(shù)組名(,)As數(shù)據(jù)類型1=New數(shù)據(jù)類型2(下標1上界,下標2上界){{第1行元素初值序列},{第2行元素初值序列},...,{第m行元素初值序列}}例如,DimarrA(,)AsInteger=NewInteger(,){{1,2,3,4},{5,6,7,8},{9,10,11,12}}DimarrA(,)AsInteger=NewInteger(2,3){{1,2,3,4},{5,6,7,8},{9,10,11,12}}(2)二維數(shù)組的整體賦值對已定義的m行n列二維數(shù)組,整體賦值格式為:數(shù)組名={{第1行元素初值序列},{第2行元素初值序列},...,{第m行元素初值序列}}其中每一行的初值序列都包含n個數(shù)值。例如:DimarrA(2,3)AsIntegerarrA={{1,2,3,4},{5,6,7,8},{9,10,11,12}}如果兩個相同數(shù)據(jù)類型的數(shù)組的維數(shù)和長度都相等,也可以用一個數(shù)組給另一個數(shù)組賦值。例:DimarrA(2,3)AsInteger={{1,2,3,4},{5,6,7,8},{9,10,11,12}}DimarrB(2,3)AsIntegerB=A(3)通過循環(huán)給二維數(shù)組賦值DimarrA(2,3)AsInteger'arrA是3×4的二維數(shù)組Dimi,jAsIntegerFori=0To2'i對應下標1,初值為0,終值為下標1上界Forj=2To3'j對應下標2,初值為0,終值為下標2上界arrA(i,j)=i*jNextjNexti如果要在程序運行時,逐個輸入二維數(shù)組的各元素值,可將語句arrA(i,j)=i*j改為由TextBox控件或InputBox函數(shù)輸入元素值。如:arrA(i,j)=Val(InputBox("arrB("&i&","&j&")=?"))(4)二維數(shù)組的輸出通過循環(huán)輸出二維數(shù)組時,也需要雙重循環(huán),外層循環(huán)控制變量對應下標1,內(nèi)層循環(huán)控制變量對應下標2,在循環(huán)體內(nèi)添加對應的輸出語句。具體數(shù)值可以輸出到TextBox控件、label控件中,或用messagebox函數(shù)輸出數(shù)組元素的值,如果是控制臺應用程序,可以用console.write或console.writeline來輸出。例如:DimarrA(2,3)AsInteger'3×4的二維數(shù)組Dimi,jAsIntegerFori=0To2'i對應下標1,初值為0,終值為下標1上界Forj=2To3'j對應下標2,初值為0,終值為下標2上界CallMessageBox.Show(arrA(i,j))NextjNextI【例6-2】定義一個3行4列整型二維數(shù)組arrA,從鍵盤上輸入各元素值,求最大元素及其所在的位置。實現(xiàn):創(chuàng)建一個窗體應用程序,編寫窗體的單擊事件過程,代碼如下。PrivateSubForm1_Click(senderAsObject,eAsEventArgs)HandlesMyBase.ClickDima(2,3)AsIntegerDimi,jAsIntegerDimMax,Row,ColAsIntegerFori=0To2Forj=0To3a(i,j)=Val(InputBox("a("&i&","&j&")=?"))NextjNextiMax=a(0,0):Row=0:Col=0Fori=0To2Forj=0To3Ifa(i,j)>a(Row,Col)ThenMax=a(i,j):Row=i:Col=jEndIfNextjNextiCallMessageBox.Show("最大元素是"&Str(Max)&"在第"&Row&"行,"&"第"&Col&"列")EndSub【例6-3】求二維矩陣的轉(zhuǎn)置,即將矩陣的對應行和列的元素互換。程序運行界面如圖6-2所示。

ConstM=4,N=4PrivateSubForm1_Click(senderAsObject,eAsEventArgs)HandlesMyBase.ClickDimA(M,N),TempAsFori=0ToMForj=0ToNarrA(i,j)=2*iNextjNextiDimstrAsString=""Fori=0ToMForj=0ToNstr=str&arrA(i,j)&""Nextjstr=str&vbCrLfNextistr=str&vbCrLfFori=0ToMForj=iToNTemp=arrA(i,j)arrA(i,j)=arrA(j,i)arrA(j,i)=TempNextjNextiFori=0ToMForj=0ToNstr=str&arrA(i,j)&""Nextjstr=str&vbCrLfNextiCallMessageBox.Show(str)EndSub【例6-4】編程實現(xiàn)兩矩陣相乘。

ConstM1=4,N=3,M2=5DimA(M1-1,N-1)AsInteger'聲明M1×N二維A數(shù)組DimB(N-1,M2-1)AsInteger'聲明N×M2二維B數(shù)組DimC(M1-1,M2-1)AsInteger'聲明M×M二維C數(shù)組PrivateSubForm1_Load(senderAsObject,eAsEventArgs)HandlesMyBase.LoadDimi,j,kAsIntegerFori=0ToM1Forj=0ToNA(i,j)=i+j+2TextBox1.Text=TextBox1.Text&(CStr(A(i,j)).PadLeft(3))NextjTextBox1.Text=TextBox1.Text&vbCrLfNextiFori=0ToNForj=0ToM2B(i,j)=i+j+1TextBox2.Text=TextBox2.Text&(CStr(B(i,j)).PadLeft(3))NextjTextBox2.Text=TextBox2.Text&vbCrLfNextiEndSubPrivateSubButton1_Click(senderAsObject,eAsEventArgs)HandlesButton1.ClickFori=0ToM1Fork=0ToM2Forj=0ToNC(i,k)=C(i,k)+A(i,j)*B(j,k)'生成新數(shù)組NextjNextkNextiFori=0ToM1Forj=0ToM2TextBox3.Text=TextBox3.Text&(CStr(C(i,j)).PadLeft(4))NextjTextBox3.Text=TextBox3.Text&vbCrLfNextiEndSub6.1.4多維數(shù)組定義多維數(shù)組的格式為:Dim數(shù)組名(下標上界1,下標上界2,……)?As?數(shù)據(jù)類型例如:DimarrA(5,5,5)AsInteger’聲明arrA是三維數(shù)組DimarrB(2,6,10,5)AsInteger'聲明arrB是四維數(shù)組多維數(shù)組的操作與二維數(shù)組類似,可以用For循環(huán)的嵌套來處理多維數(shù)組。當增加數(shù)組的維數(shù)時,數(shù)組所占的存儲空間會大幅度增加,所以要慎用多維數(shù)組。6.1.5交錯數(shù)組交錯數(shù)組是一種特殊的數(shù)組,即數(shù)組中每個元素的本身又是一個一維或多維數(shù)組,稱為“數(shù)組的數(shù)組”,即交錯數(shù)組1.交錯數(shù)組的聲明(1)交錯數(shù)組的元素為一維數(shù)組格式一:Dim數(shù)組名(下標上界)()?As?數(shù)據(jù)類型采用該格式聲明交錯數(shù)組時,數(shù)組名后必須用兩對圓括號,而且下標上界要在第一對圓括號中指定。例如,DimarrA(3)()AsString格式二:Dim數(shù)組名()()As數(shù)據(jù)類型1=New數(shù)據(jù)類型2(下標上界)(){}例如,DimarrA()()AsString=Newstring(3)(){}'聲明了包含四個元素的交錯數(shù)組,而且四個元素都是一維數(shù)組。采用格式二聲明交錯數(shù)組時,數(shù)組名后的兩對圓括號可以放到數(shù)據(jù)類型1后,但下標上界只能在數(shù)據(jù)類型2后的第一對圓括號中指定。(2)交錯數(shù)組的元素為多維數(shù)組如果交錯數(shù)組的元素為二維數(shù)組,聲明格式為:格式一:Dim數(shù)組名(下標上界)(,)?As數(shù)據(jù)類型

格式二:Dim數(shù)組名()(,)?As數(shù)據(jù)類型1=New數(shù)據(jù)類型2(下標上界)(,){}例如,DimarrA(,)?AsInteger={{1,2,3},{4,5,6}}'arrA是2×3的二維數(shù)組DimarrB(,)?As?Integer={{1,2},{3,4},{5,6},{7,8}}'arrB是4×2的二維數(shù)組DimarrAB(1)(,)AsInteger'定義包含2個元素的交錯數(shù)組arrABarrAB(0)=arrA'交錯數(shù)組第一個元素賦值為二維數(shù)組arrAarrAB(1)=arrB''交錯數(shù)組第二個元素賦值為二維數(shù)組arrA如果交錯數(shù)組的元素為三維數(shù)組,則聲明格式為:格式一:Dim數(shù)組名(下標上界)(,,)?As數(shù)據(jù)類型格式二:Dim數(shù)組名()(,,)?As數(shù)據(jù)類型1=New數(shù)據(jù)類型2(下標上界)(,,){}(3)交錯數(shù)組的元素為交錯數(shù)組如果交錯數(shù)組的元素為交錯數(shù)組,則聲明格式為:格式一:Dim數(shù)組名(下標上界)()()?As數(shù)據(jù)類型格式二:Dim數(shù)組名()()()?As數(shù)據(jù)類型1=New數(shù)據(jù)類型2(下標上界)()(){}例如,下列程序段中,arrA就是一個元素為交錯數(shù)組的交錯數(shù)組。DimarrA1()AsInteger={1,2,3}'arrA1是上界為2的一維數(shù)組DimarrA2()AsInteger={4,5,6,7}'arrA2是上界為3的一維數(shù)組DimarrA(1)()AsInteger'arrA是由數(shù)組arrA1、arrA2作為元素的交錯數(shù)組arrA(0)=arrA1arrA(1)=arrA2DimarrB1()AsInteger={11,22}'arrB1是上界為1的一維數(shù)組DimarrB2()AsInteger={33,44,55}'arrB2是上界為2的一維數(shù)組DimarrB3()AsInteger={66,77,88,99}'arrB3是上界為3的一維數(shù)組DimarrB(2)()AsInteger'arrB是由數(shù)組arrB1、arrB2、arrB3作為元素的交錯數(shù)組arrB(0)=arrB1arrB(1)=arrB2arrB(2)=arrB3DimarrAB(1)()()AsInteger'arrAB是上界為1的交錯數(shù)組,且兩個元素都是交錯數(shù)組arrAB(0)=arrAarrAB(1)=arrB2.交錯數(shù)組的初始化與一般數(shù)組相同,可以在聲明交錯數(shù)組的同時進行初始化,例如:DimarrA()()AsInteger={NewInteger(){1,2,3},NewInteger(){4,5,6,7}}對由一維數(shù)組構(gòu)成的交錯數(shù)組初始化,注意大括號對中的NewInteger()不能省略。初始化時,也可以采用New子句,上述初始化語句可以改為:Dim?arrA()()?As?Integer=New?Integer(1)(){New?Integer(){1,2,3},NewInteger(){4,5,6,7}}對由二維數(shù)組構(gòu)成的交錯數(shù)組初始化,可以采用以下幾種格式:DimarrAB()(,)AsInteger={NewInteger(,){{1,2},{3,4}},NewInteger(,){{5,6},{7,8},{9,10}}}DimarrAB()(,)AsInteger=NewInteger(1)(,){NewInteger(,){{1,2},{3,4}},NewInteger(,){{5,6},{7,8},{9,10}}}DimarrAB()(,)AsInteger=NewInteger()(,){NewInteger(,){{1,2},{3,4}},NewInteger(,){{5,6},{7,8},{9,10}}}6.2.1動態(tài)數(shù)組在VB.NET中,聲明數(shù)組時,聲明格式為:一維數(shù)組:Dim數(shù)組名()As數(shù)據(jù)類型二維數(shù)組:Dim數(shù)組名(,)As數(shù)據(jù)類型三維數(shù)組:Dim數(shù)組名(,,)As數(shù)據(jù)類型對于多維數(shù)組,可以以此類推進行聲明。聲明動態(tài)數(shù)組時需要注意以下幾點:①數(shù)組名后的括號不僅可以放在數(shù)組名后,還可以放在數(shù)據(jù)類型名后,具體為:一維數(shù)組:Dim數(shù)組名As數(shù)據(jù)類型()二維數(shù)組:Dim數(shù)組名As數(shù)據(jù)類型(,)②聲明二維動態(tài)數(shù)組時,不能省略數(shù)組名后面小括號中的逗號。③對于動態(tài)數(shù)組,由于聲明時它只是說明了類型,卻沒有在內(nèi)存中分配空間(因為元素個數(shù)未定),

因此,在它沒有具體實例化前是不能直接使用的。6.2數(shù)組重定義④也可以使用New子句定義動態(tài)數(shù)組,格式為:一維數(shù)組:Dim數(shù)組名()As數(shù)據(jù)類型1=New數(shù)據(jù)類型2(){}二維數(shù)組:Dim數(shù)組名(,)As數(shù)據(jù)類型=New數(shù)據(jù)類型2(){}三維數(shù)組:Dim數(shù)組名(,,)As數(shù)據(jù)類型=New數(shù)據(jù)類型2(){}⑤對動態(tài)數(shù)組,可以進行初始化和整體賦值。例如:DimarrA1AsChar()={"n"c,"e"c,"t"c}

'字符數(shù)組arrA1初始化,長度為3,語句可以改為以下兩條,效果是相同的:DimarrA1()AsChar:arrA1={"n"c,"e"c,"t"c}

Dim

arrA2()AsBoolean={True,True,False,True}

'布爾型數(shù)組arrB初始化,長度為4。該語句也可以改為以下兩條等效的語句:Dim

arrA2()AsBooleanarrA2={True,True,F(xiàn)alse,True}DimarrD(,)AsInteger'聲明動態(tài)二維數(shù)組arrD={{1,2,3,4},{5,6,7,8},{9,10,11,12}}'二維數(shù)組arrD整體賦值除了初始化和整體賦值,對動態(tài)數(shù)組必須用redim重新定義后才能正常使用。6.2.2數(shù)組重定義1.數(shù)組的重定義格式:ReDim[Preserve]數(shù)組名(上界1[,上界2…])該語句用來重新定義數(shù)組,按定義的上界重新分配存儲單元。當重新定義數(shù)組時,數(shù)組中的原有內(nèi)容將被清除,但如果在ReDim語句中使用了Preserve選項,則不清除數(shù)組內(nèi)容。使用ReDim重新定義數(shù)組時需要注意下面幾點:①與Dim、Static語句不同,ReDim語句是一個可執(zhí)行語句,只能出現(xiàn)在過程中。②如果想改變數(shù)組大小又不想丟失原來的數(shù)據(jù),只要在ReDim語句中包含Preserve關(guān)鍵字就可以。③對于已經(jīng)使用ReDim重定義過的動態(tài)數(shù)組,可以使用ReDim再次重新定義,而且再定義的數(shù)組長度可以增加,也可以減小。④ReDim只能用來重新定義數(shù)組的長度,不能重新定義數(shù)組的維數(shù),也不能更改數(shù)組的數(shù)據(jù)類型。⑤對于多維數(shù)組,在使用Preserve關(guān)鍵字時,只能修改最后一維的大小。如果不使用Preserve關(guān)鍵字,數(shù)組每一維的大小都可以更改。⑥由于VB.NET中的數(shù)組都是動態(tài)的,即使聲明時指定了數(shù)組上界,也可以使用ReDim重定義。例如:DimarrB(6)AsInteger={1,2,3,4,5,6,7}ReDimPreservearrB(8)ReDimPreservearrB(5)⑦在VB.NET中所有的數(shù)組都是動態(tài)的,可以在任何時候重新定義數(shù)組的長度,即使不用redim,可以使用New關(guān)鍵字來對任何一個數(shù)組進行引用,并且重新定位。Dim

X()

As

Single'在類模塊級聲明X=New

Single(20){}'相當于redimx(20)2.數(shù)組的清除格式為:Erase數(shù)組名[,數(shù)組名]Erase語句只能出現(xiàn)在過程級別,只能在過程中而不是在類或模塊級釋放數(shù)組。Erase語句等效于將Nothing分配給每一個數(shù)組元素。如果數(shù)組是數(shù)值型的,則把數(shù)組中的所有元素置為0;如果是字符串數(shù)組,則把所有元素置為空字符串。

6.2.3與數(shù)組操作有關(guān)的幾個系統(tǒng)函數(shù)(1)IsArray()函數(shù)IsArray(varName)用來判斷參數(shù)varName是否為數(shù)組,如果是數(shù)組,返回True,否則返回False。(2)Ubound()函數(shù)和Lbound()函數(shù)格式:UBound(<數(shù)組名>[,<N>])LBound(<數(shù)組名>[,<N>])這兩個函數(shù)分別用來確定數(shù)組某一維的上界和下界值。其中N是可選的,一般是整型常量或變量,用于指定返回哪一維的上界或下界。1表示第一維,2表示第二維,以此類推。N的默認值是1,即Ubound(aa)與UBound(aa,1)等價。

(3)Split()函數(shù)格式:Split(<字符串表達式>[,<分隔符>])該函數(shù)可將一個字符串以某個指定符號為分隔符,分離為若干個子字符串,賦值給一個一維數(shù)組。例如:DimarrA()AsString'聲明一個字符串數(shù)組s="ab/cd/ef/ghijk"'以/為分隔符arrA=Split(s,“/“)【例6-5】按照圖6-4所示界面設(shè)計一個拆分字符串的應用程序,程序可以按照用戶指定的分隔符拆分字符串并輸出。PrivateSubButton1_Click(senderAsObject,eAsEventArgs)HandlesButton1.ClickDimarrS()AsStringarrS=Split(TextBox1.Text,TextBox2.Text)ForEachssInarrSTextBox3.Text=TextBox3.Text&ss&""NextEndSub6.3對象數(shù)組6.3.1Object類型數(shù)組在VB6.0中,如果聲明數(shù)組時不指定數(shù)據(jù)類型,或指定Variant類型,稱為變體數(shù)組,在VB.NET中,取代Variant的是Object類型。Object類型支持.NETFramework類層次結(jié)構(gòu)中的所有類,并為派生類提供低級別服務,它是.NETFramework中所有類的最終基類。如果數(shù)組被聲明為Object類型,可以用其保存不同類型的數(shù)據(jù),該數(shù)組是對象數(shù)組。在面向?qū)ο蟪绦蛟O(shè)計中,用戶還以自定義復雜數(shù)據(jù)類型——類,數(shù)組的數(shù)據(jù)類型也可是用戶自定義類的對象。例如,如果用戶自定義了表示人員的類Person,就可以用語句“DimarrP(10)AsPerson”創(chuàng)建對象數(shù)組arrP?!纠?-6】分析下列程序運行結(jié)果,理解Object數(shù)組的使用。

SubMain()DimarrA(4)AsObject'聲明Object類型數(shù)組arrA(4)arrA(0)="asdf"'arrA(0)被賦值為字符串“asdf”arrA(1)=123'arrA(1)被賦值為整數(shù)123arrA(2)=45.6'arrA(2)被賦值為浮點數(shù)45.6arrA(3)=True'arrA(3)被賦值為布爾型數(shù)據(jù)TruearrA(4)=#3/2/2016#'arrA(4)被賦值為日期類型數(shù)據(jù)

Fori=0To4Console.Write(arrA(i))Console.Write("")Console.WriteLine(arrA(i).GetType)'輸出數(shù)組元素的數(shù)據(jù)類型NextConsole.Read()EndSub【例6-7】編寫一個應用程序,界面如圖6-6所示。要求輸入幾個學生成績后,要將文本框中字符串拆分成數(shù)組,單擊“計算平均值”按鈕可以計算平均值,并顯示在下面的文本框中。按鈕的單擊事件代碼為:PrivateSubButton1_Click(senderAsObject,eAsEventArgs)HandlesButton1.ClickDimsumAsInteger=0DimScore()AsObjectScore=Split(TextBox1.Text,",")DimnAsInteger=Score.LengthFori=0Ton-1sum=sum+Score(i)NextTextBox2.Text=n&"個學生平均成績="&Int(sum/n*10+0.5)/10EndSub6.3.2System.Array類及其成員Array類是公共語言運行庫中所有數(shù)組的基類。在VB.NET中,所有的數(shù)組都是從Array類繼承而來,數(shù)組被作為一個對象來處理,任何數(shù)組都可以訪問Array類的方法和屬性。數(shù)組中的一個元素就是Array中的一個值。Array的長度是它可包含的元素總數(shù)。Array的秩是數(shù)組的維數(shù)。Array中某一維的下限是數(shù)組該維度的起始索引,多維數(shù)組的各個維度可以有不同的界限。1.System.Array類的常用屬性屬

性說

明IsFixedSize獲取指示Array是否具有固定大小的值。IsReadOnly獲取指示Array是否為只讀的值。Length獲取Array的所有維度中的元素總數(shù)。Rank獲取Array的秩(也就是維數(shù))。表6.1Array類的常用屬性及其說明方

法說

明BinarySearch使用二進制搜索算法在一維的排序Array中搜索值。Clear將Array中的一系列元素設(shè)置為零、false或空引用(即:Nothing),具體操作時設(shè)定值取決于元素類型。Copy將一個Array的一部分復制到另一個Array中,并根據(jù)需要執(zhí)行強制類型轉(zhuǎn)換和裝箱。CopyTo將當前一維Array的所有元素復制到指定的一維Array中(從指定的目標Array索引開始)。GetLength獲取Array的指定維度中的元素數(shù)。GetLowerBound獲取Array中指定維度的下限。GetUpperBound獲取Array的指定維度的上限。GetValue獲取當前Array中指定元素的值。IndexOf返回一維Array或部分Array中某個值的第一個匹配項的索引LastIndexOf返回一維Array或部分Array中某個值的最后一個匹配項的索引。Reverse反轉(zhuǎn)一維Array或部分Array中元素的順序。Sort對一維數(shù)組各元素進行升序排列SetValue將當前Array中的指定元素設(shè)置為指定值。表6.2System.Array類的常用方法及其說明(1)復制數(shù)組元素方法Copy和CopyTo方法都用于進行一維數(shù)組復制可以將源數(shù)組的全部或部分元素復制到目標數(shù)組指定位置,具體格式為:格式一:源數(shù)組名.CopyTo(目標數(shù)組名,目標數(shù)組起始位)格式二:Array.Copy(源數(shù)組,源數(shù)組起始位,目標數(shù)組,目標數(shù)組起始位,長度)(2)克隆數(shù)組源數(shù)組名.Clone():該方法可以將源數(shù)組完全復制,返回一個新的對象。例如:DimarrA()AsInteger={1,2,3,4,5}DimarrC()AsIntegerarrC=arrA.Clone‘

arrC(0)~arrC(4)分別為1,2,3,4,5(3)返回元素的下標值A(chǔ)rray.IndexOf(數(shù)組,元素值):

返回第一個等于該元素值的元素的下標值。Array.LastIndexOf(數(shù)組,元素值):返回最后一個等于該元素值的元素的下標值。例如,在上例中復制得到數(shù)組arrB的7個元素,arrB(0)~arrB(6)分別為0、1、2、3、4、5,則

Array.IndexOf(arrB,3)

為3,Array.IndexOf(arrB,0)

為0。Array.LastIndexOf(數(shù)組,0)值為6。(4)將數(shù)組各元素排序Array.Sort(數(shù)組):對數(shù)組各元素進行升序排列。例如:DimarrA()AsString={"M","O","R","S","K"}Array.Sort(arrA)'排序后,arrA(0)~arrA(3)分別是K、M、O、R、S。(5)反向排列各元素值A(chǔ)rray.Reverse(數(shù)組)

:將數(shù)組各元素按相反順序排列。例如:DimarrA()AsString={"M","O","R","S","K"}Array.Reserve(arrA)‘反轉(zhuǎn)后,arrA(0)~arrA(3)分別是K、S、R、O、M。(6)搜索數(shù)組元素Array.BinarySearch(數(shù)組,元素值)

:如果數(shù)組中沒有重復值,返回該元素的下標值;如果數(shù)組有重復值且數(shù)組未排序,返回第一個與該元素值相等的元素下標值,如果數(shù)組已排序,則返回最后一個與該元素值相等的元素下標值。例如:DimarrA()AsString={"M","O","R","S","K","R"}MessageBox.Show(Array.BinarySearch(arrA,"R"))'顯示值為2Array.Sort(arrA)MessageBox.Show(Array.BinarySearch(arrA,"R"))'顯示值為4【例6-8】按照圖6-7所示界面,創(chuàng)建一應用程序,通過四個按鈕分別進行一維數(shù)組、二維數(shù)組的聲明、初始化、數(shù)組中各元素的排序,以及數(shù)組的重新申明、重新初始化等操作。按照圖6-7創(chuàng)建應用程序界面,編寫各個按鈕的單擊事件代碼,其中,按鈕1、2、3是對一維數(shù)組的操作,按鈕4是創(chuàng)建二維數(shù)組,且在程序中進行初始化。DimarrS1(3)AsStringPrivateSubButton1_Click(senderAsObject,eAsEventArgs)HandlesButton1.ClickDimiAsIntegerFori=0To3arrS1(i)=InputBox("請輸入字符串初始化創(chuàng)建的一維數(shù)組",,"元素"&i)NextButton3.Enabled=TrueButton4.Enabled=TrueListBox1.Items.Clear()DimTempAsStringForEachTempInarrS1ListBox1.Items.Add(Temp)NextEndSubPrivateSubButton2_Click(senderAsObject,eAsEventArgs)HandlesButton2.ClickDimarrS2(,)AsString={{"VB.NET","程序設(shè)計"},{"實用","教程"}}Fori=0To1Forj=0To1ListBox2.Items.Clear()DimTempAsStringForEachTempInarrS2ListBox2.Items.Add(Temp)NextNextNextEndSubPrivateSubButton3_Click(senderAsObject,eAsEventArgs)HandlesButton3.ClickArray.Sort(arrS1)'對一維數(shù)組排序ListBox1.Items.Clear()DimTempAsStringForEachTempInarrS1ListBox1.Items.Add(Temp)NextEndSubPrivateSubButton4_Click(senderAsObject,eAsEventArgs)HandlesButton4.ClickReDimPreservearrS1(5)DimiAsIntegerFori=4To5arrS1(i)=InputBox("請輸入字符串,初始化一維數(shù)組!",,"元素"&i)NextListBox1.Items.Clear()DimTempAsStringForEachTempInarrS1ListBox1.Items.Add(Temp)NextEndSub6.4集合與控件數(shù)組6.4.1集合與數(shù)組數(shù)組從Array類繼承了許多的屬性和方法,使得數(shù)組復制、排序、搜索等操作都比較便利。同時,數(shù)組元素在內(nèi)存中是連續(xù)存儲的,遍歷比較方便,也可以很方便的修改元素。但是使用數(shù)組元素時,會受到數(shù)組下標上界的限制,要更改數(shù)組的大小,必須使用

ReDim語句。而集合則不需要事先定義大小,可以根據(jù)需要自動分配大小,可以隨意添加、刪除某個元素。

集合提供了一種更靈活的處理對象組的方法。集合是類,實例化后,才能向集合中添加元素。放入集合中的每個對象都有一個索引序號(從0開始的整數(shù)),利用該索引可以檢索和操作該對象。

聲明數(shù)組時要指定數(shù)據(jù)類型,數(shù)組只能保存聲明時所指定數(shù)據(jù)類型的數(shù)據(jù)(除非是Object類型),但一個集合中可以存儲不同類型的數(shù)據(jù)。所以,如果要處理的數(shù)據(jù)類型不同,數(shù)據(jù)項數(shù)經(jīng)常更改,或者無法預測所需的最大項數(shù),使用集合非常方便。

6.4.2創(chuàng)建集合1.集合的類型根據(jù)程序的不同用途,.NETFramework提供了許多常用的集合類型,這些類隸屬于不同名稱空間。主要包括用于System.Collections.Generic

、System.Collections.Concurrent

和System.Collections。System.Collections中的類不是將元素存儲為指定類型的對象,而是存儲為Object

類型的對象,所以,能夠很方便地存儲任何數(shù)據(jù)類型的元素。System.Collections名稱空間提供了以下幾個強大的類,包括ArrayList、

BitArray

、

Hashtable等,各個類及作用如下:

ArrayList:實現(xiàn)一個數(shù)組,其大小在添加元素時自動增加大小,為一個可變大小的數(shù)組,可以在其列表中的任意位置增添或移除數(shù)據(jù),而且一個ArrayList對象可以存儲不同種類型的數(shù)據(jù)。

BitArray

:管理以位值存儲的布爾數(shù)組。Hashtable:實現(xiàn)由鍵組織的值的集合(KeyValue),排序是基于鍵的散列完成的(哈希函數(shù))。Queue:實現(xiàn)先進先出的集合(排序方式)。Stack

:實現(xiàn)后進先出的集合。SortedList:實現(xiàn)帶有相關(guān)鍵的值的集合,該值按鍵來排序,可以通過鍵或索引來訪問。2.創(chuàng)建與使用集合在VB.NET中,支持原VB的collection

集合,

聲明這種集合具體格式為:Dim集合名AsNewCollection()集合名只要符合變量名命名規(guī)則即可,根據(jù)集合訪問權(quán)限的不同,Dim可以換成Public、Static,例如:Dim?mycoll?As?New?Collection()就會創(chuàng)建一個名為mycoll的集合對象。創(chuàng)建集合后可以使用集合的屬性和方法進行相應操作,主要包括使用

Add方法添加元素,使用

Remove方法移除元素等。集合中的成員可以是同一種類型的數(shù)據(jù),也可以是不同類型的數(shù)據(jù)。建立了集合后,集合中的每個成員都有一個索引值,它相當于數(shù)組中的下標,通常也稱為下標,集合元素的索引值是從1到集合的

Count

屬性值。可以通過索引使用集合元素,格式為:集合名.Item(索引)

【例6-9】分析下列代碼,熟悉集合的創(chuàng)建與使用方法。PrivateSubForm1_Click(ByValsenderAsObject,ByValeAsSystem.EventArgs)HandlesMyBase.Clic

DimiAsShortDimCollAAsNewCollection()Fori=1To10CollA.Add("集合元素"&i)NextiFori=1To10TextBox1.Text=TextBox1.Text&CollA(i)&vbCrLfNextEndSub

6.4.3ArrayList對象1.創(chuàng)建ArrayList對象創(chuàng)建ArrayList對象實例的方法與創(chuàng)建數(shù)組相似,格式為:格式一:Dim變量名As?New?ArrayList格式二:Dim變量名As?ArrayList:

變量名=NewArrayList例如:Dim?Arl?As?New?ArrayList該語句與下面兩條語句相同。DimArlAsArrayList:Arl=NewArrayList

2.ArrayList的常用屬性ArrayList的常用屬性包括以下幾個:(1)Capacity:獲取或設(shè)置

ArrayList

可包含的元素數(shù),即ArrayList的容量

,空集合容量為0,非空集合容量為4,8,16......,每次擴大2倍的方式遞增。(2)Count:獲取

ArrayList

中實際包含的元素數(shù)。(3)IsReadOnly:判斷

ArrayList

是否為只讀。(4)Item(索引):獲取或設(shè)置指定索引處的元素,索引是從零開始的整數(shù)。(5)IsFixedSize:判斷

ArrayList

是否具有固定大小。3.ArrayList的常用方法ArrayList的方法有很多,使用這些方法可以很方便地添加、刪除集合數(shù)據(jù)項,復制集合、以及對集合進行排序等。(1)add(對象):將對象添加到

ArrayList

的結(jié)尾處,隨著向ArrayList中添加元素,容量按需自動增加。(2)Clear:從

ArrayList

中移除所有元素。。(3)Contains(object):如果數(shù)組列表含有該對象則返回true。(4)CopyTo(array):把一個數(shù)組列表拷貝到一個一維的數(shù)組array中去。(5)IndexOf(object):返回第一個元素的值。(6)Insert(index,object):在index指定的位置插入一個元素(7)Remove():從列表中刪除指定元素或指定位置的元素。(8)Sort:對列表進行排序。(9)Reverse:將整個

ArrayList

中元素的順序反轉(zhuǎn)。(10)ToArray(數(shù)據(jù)類型):將

ArrayList

的元素復制到一個指定元素類型的新數(shù)組。(11)ToString:返回表示當前對象的字符串?!纠?-10】分析下列程序代碼,熟悉ArrayList的屬性和方法。

SubMain()DimArlAsNewArrayList'必須用new實例化DimobjItemAsObjectConsole.WriteLine(Arl.Capacity)'顯示為0,新建數(shù)組列表對象初始容量為0Arl.Add("Visual")'添加一個-字符串Console.WriteLine(Arl.IndexOf("Visual"))'新添加的字符串索引為0Console.WriteLine(Arl.Capacity)'顯示為4,只要添加了元素,數(shù)組列表對象最小容量為4Arl.Add("Basic")'添加一個字符串,索引為1Arl.Add("Net")'添加一個字符串,索引為2Arl.Insert(2,".")'在索引2處插入一個字符串,將“.”插入到Net之前

ForiAsInteger=1To5'利用循環(huán)在集合末尾添加5個整數(shù),索引為4~8Arl.Add(i)Next

Console.WriteLine(Arl.Capacity)'數(shù)值為16Console.WriteLine(Arl.Count)'數(shù)值為9Console.WriteLine(Arl.Contains("Net"))'顯示為TrueArl.Remove(3)'刪除數(shù)值為3的元素,數(shù)值3的索引為6,后序數(shù)據(jù)前移Console.WriteLine(Arl(6))'數(shù)值為4Arl.RemoveAt(6)'刪除索引為6的元素,即刪除數(shù)值4ForEachobjItemInArlConsole.WriteLine(objItem.ToString)'以字符串形式顯示集合的所有元素NextConsole.Read()EndSub

6.4.4控件數(shù)組的創(chuàng)建方法控件數(shù)組是一組共享同一名稱和類型的控件,在VB6.0中既允許在設(shè)計階段可視地創(chuàng)建和編輯控件數(shù)組,又可以在程序中定義并生成控件對象數(shù)組,它們也共享同一事件過程。但在VB.NET中不是按照在VB6.0中同樣的方法創(chuàng)建控件數(shù)組,而是使用控件集合。所謂控件集合是指包含在一個容器中的所有控件的總和,不僅僅是同類型的控件。能夠創(chuàng)建控件集合的容器有:Form、Panel、GropBox等。程序運行時,可以通過訪問容器的Control屬性來得到該容器中的所有控件。1.利用Form容器控件創(chuàng)建控件數(shù)組在VB.NET中,一個窗體中的所有控件自動構(gòu)成一個控件集合(控件數(shù)組)。所以,在訪問這些控件時,有兩種方式,一是通過控件名稱直接訪問;二是通過Controls.Item(n)屬性按下標訪問。例如,建立圖6-8所示的窗體應用程序后,在Form1上先添加的七個標簽控件label1~label7,再添加七個文本框控件textbox1~textbox7,最后添加一個按鈕控件button1。這些添加到窗體上的控件自動構(gòu)成了一個控件集合。默認情況下,集合中控件的下標順序是與設(shè)計窗體時加入控件的順序相反的,即Me.Controls.Item(0)代表的是按鈕bton1,Me.Controls.Item(1)代表的是textbox7,以此類推,Me.Controls.Item(14)代表的是label1??梢圆捎靡韵路椒ㄐ薷南聵说捻樞?。(1)在【解決方案資源管理器】視圖中,單擊Form1.vb左側(cè)的三角按鈕,在展開的列表中再單擊Form1左側(cè)的三角按鈕,在其展開項中找到【componentsAsIcontainer】項,(2)雙擊【componentsAsIcontainer】項,將打開文件“”,在代碼編輯窗中點擊Windows窗體設(shè)計器生成的代碼左側(cè)的“+”號,將所有代碼展開,就可以找到下列代碼:Me.Controls.Add(Me.Button1)Me.Controls.Add(Me.TextBox7)Me.Controls.Add(Me.TextBox6)......Me.Controls.Add(Me.Label1)這個代碼順序就是控件數(shù)組的下標順序。(3)修改這個順序就可以改變控件數(shù)組中每個元素的下標。2.在程序中動態(tài)添加控件數(shù)組前面定義的控件數(shù)組是在設(shè)計階段完成的,它要求,控件數(shù)組中的控件數(shù)量必須已知,也叫靜態(tài)控件數(shù)組;但很多時候要求,控件數(shù)組中的控件數(shù)量要用程序的某些運行情況來確定,這就要求,控件數(shù)組中的控件要能實現(xiàn)動態(tài)添加。(1)利用

ArrayList

對象創(chuàng)建控件數(shù)組下面來建立一個VB.NET的窗體應用程序,在Form上添加兩個按鈕,其中,Button1用來添加動態(tài)控件數(shù)組;Button2用來修改數(shù)組中每個控件的屬性。

在代碼編輯窗口中輸入如下代碼:Dim

List

As

New

ArrayList

PrivateSubButton1_Click(senderAsObject,eAsEventArgs)HandlesButton1.ClickDimiAsIntegerFori=0To4'利用循環(huán)語句動態(tài)加入控件數(shù)組。

DimFirstTextBoxAsNewTextBox'定義文本框?qū)ο?/p>

Me.Controls.Add(FirstTextBox)'將一個文本框控件加入到Form上

Arl.Add(FirstTextBox)'將文本框控件加入到例表集合中

Arl.Item(i).top=i*Arl.Item(i).height+20'修改新加入控件在Form上的位置Arl.Item(i).left=100FirstTextBox.TabIndex=i'修改新加入控件的TabIndex值

Arl.Item(i).text="TextBox"&i.ToString'修改默認文本。

NextEndSubPrivateSubButton2_Click(senderAsObject,eAsEventArgs)HandlesButton2.ClickDimiAsIntegerFori=0To4Arl.Item(i).text="第"&i.ToString&"個元素"NextEndSub(2)創(chuàng)建指定類型控件數(shù)組VB.NET支持利用程序創(chuàng)建指定類型控件的數(shù)組,如label、TextBox、RadioButton等具體控件類型,創(chuàng)建格式為:Dim控件數(shù)組名()As控件類型例如:DimlblA(5)AsLabel'創(chuàng)建包含6個元素的

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論