【正文】
If Then ElseIf ? If Then ElseIf條件敘述是 If Then條件敘述的延伸,使用 ElseIf指令建立多選一的條件,如下: If dayValue = 1 Then (星期日 br) ElseIf dayValue = 2 Then (星期一 br) ElseIf dayValue = 3 Then (星期二 br) ……. ElseIf dayValue = 7 Then (星期六 br) Else (無法分辨是星期幾 br) End If 352 多選一的條件敘述 Select Case ? Select Case多選一條件敘述比較清楚明白,撰寫的程式碼也比較簡潔,可以依照符合的條件執(zhí)行不同區(qū)塊的程式碼,如下所示: Select Case dayValue Case 1: (周日假期 br) Case 2, 3, 4 To 6 (工作天 br) Case 7: (周末假日 br) Case Else (無法分辨是星期幾 br) End Select 36 ? 361 For…Next 迴路 ? 362 Do/While...Until/Loop迴路 361 For…Next 迴路 For...Step…Next ? For...Step…Next 指令敘述執(zhí)行的迴路是固定次數(shù),以 Step值來增加或減少,如果 Step為 1可以省略 Step, 例如:使用 For Next迴路,每次增加1,執(zhí)行 1到 10次相加的迴路,如下所示: Dim i, total As Integer For i = 1 To 10 Step 1 total += i Next ? 如果使用負(fù)數(shù)的 Step, 如下所示: For i = 10 To 1 Step 1 total += i Next 361 For…Next 迴路 For Each…In…Next ? For Each迴路和 For Next迴路敘述十分相似,只不過這種迴路通常是使用在物件和物件的資料集合,可以顯示集合中的所有元素,特別適合那些不知道有多少元素的物件,如下所示: Dim objName As New ArrayList Dim name As String (陳會安 ) (江小魚 ) (張無忌 ) For Each name In objName (name amp。 br) Next 362 Do/While...Until/Loop迴路While當(dāng)條件成立 ? Do Loop迴路如果使用 While條件,條件是在迴路開頭檢查,如下所示: Dim total As Integer = 0 Dim counter As Integer = 1 Do While counter =10 total += counter counter += 1 Loop 362 Do/While...Until/Loop迴路Until直到條件成立 ? Do Loop迴路如果使用 Until條件,結(jié)束條件是在迴路尾檢查,如下所示: Dim total As Integer = 0 Dim counter As Integer = 1 Do total += counter counter += 1 Loop Until counter 10 362 Do/While...Until/Loop迴路While…End While ? While…End While 是 VB 6的 While…Wend迴路,這是一種在迴路開頭檢查的迴路,從 1加到 10的程式碼,如下所示: Dim total As Integer = 0 Dim counter As Integer = 1 While counter =10 total += counter counter += 1 End While 37 ? 371 程序與函數(shù) ? 372 變數(shù)的有效範(fàn)圍與參數(shù)的傳遞 371 程序與函數(shù) Sub副程序 ? Sub程序是一個(gè)區(qū)塊的 ,使用Sub和 End Sub包圍,程序並沒有傳回值,如下所示: Sub addOne2N(maxValue As Integer) Dim total As Integer = 0 Dim counter As Integer = 1 While counter = maxValue total += counter counter += 1 End While (...“的總合 : ” amp。_total amp。 br) End Sub 371 程序與函數(shù) Function函數(shù) ? Function函數(shù)是使用 Function和 End Function包圍,函數(shù)有傳回值,傳回的方式是使用 Return指令,如下所示: Function addTen() Dim i, total As Integer For i = 1 To 10 Step 1 total += i Next Return total End Function 371 程序與函數(shù) Call指令呼叫程序與函數(shù) ? 呼叫函數(shù)或副程序,正確的說只有呼叫程序才會用到 Call, 如下所示: Call addOne2N(5) addOne2N(100) ? 函數(shù)擁有傳回值,通常都使用在運(yùn)算式的指定敘述,位在指定敘述的右邊,如下所示: total = addTen() 372 變數(shù)的有效範(fàn)圍與參數(shù)的傳遞 範(fàn)圍 ? ,如下所示: – 區(qū)塊變數(shù)範(fàn)圍( Block Scope): 使用 End、 Loop和Next結(jié)束的流程控制屬於一個(gè)程式區(qū)塊,在程式區(qū)塊內(nèi)宣告的變數(shù),只能在區(qū)塊內(nèi)使用,如果在區(qū)塊外就不能使用。 – 區(qū)域變數(shù)範(fàn)圍( Local Scope): 程序和函數(shù)內(nèi)宣告的變數(shù),變數(shù)只能在此程序或函數(shù)間使用,稱為區(qū)域變數(shù)。 – 全域變數(shù)範(fàn)圍( Global Scope): 如果變數(shù)是在程序和函數(shù)外宣告,在程式的各程序和函數(shù)都可以使用此變數(shù),稱為全域變數(shù)。 372 變數(shù)的有效範(fàn)圍與參數(shù)的傳遞 參數(shù)傳遞 ? 在程序和函數(shù)傳入?yún)?shù)的傳遞方式分為兩種,如下所示: – ByVal傳值呼叫:只將變數(shù)的值傳入程序或函數(shù),並不會更改變數(shù)值。 – ByRef傳址呼叫:將變數(shù)實(shí)際儲存的位置傳入,所以會更改變數(shù)值。 38 結(jié)構(gòu) ? ,即 Try End Try, 如下所示: Try 39。 測試的錯(cuò)誤程式碼 ……………… Catch e As Exception 39。 錯(cuò)誤處理的程式碼 ……………… Finally …………… End Try 38 說明 ? 錯(cuò)誤處理敘述可以分為三個(gè)部分,如下所示: – Try程式區(qū)塊:在 Try和 Catch指令間的程式區(qū)塊是。 – Catch程式區(qū)塊:如果 Try程式區(qū)塊的程式碼發(fā)生錯(cuò)誤,在 Catch到 Finally指令間的程式區(qū)塊將會傳入?yún)?shù) e的 Exception例外物件,可以顯示錯(cuò)誤資訊,或是建立錯(cuò)誤處理的補(bǔ)救程式碼。 – Finally程式區(qū)塊:這是選擇性的程式區(qū)塊,不論錯(cuò)誤是否產(chǎn)生,都會執(zhí)行此區(qū)塊的程式碼,通常是用來善後的程式碼,例如:關(guān)閉資料庫連結(jié)。 第 4章 .NET Framework類別函式庫的使用 ? 41 .NET Framework的基礎(chǔ) ? 42 ? 43 ? 44 ? 45 ? 46 ? 47 41 .NET Framework的基礎(chǔ) ? 411 再談 .NET Framework ? 412 在 .NET Framework的類別 411 再談 .NET Framework1 ? . NET Framework的應(yīng)用程式開發(fā)可以解決Windows程式開發(fā)的問題 , 因?yàn)樗鞘褂肅ommon Language Runtime( CLR) 和 . NET Framework類別函式庫來執(zhí)行程式 , 如下: 411 再談 .NET Framework2 ? .NET Framework支援的程式語言都使用相同的 .NET Framework類別函式庫,這是一個(gè)稱為Namespace名稱空間的階層類別架構(gòu),每一個(gè)名稱空間可以擁有無限制的類別,如下圖所示: 412 在 .NET Framework的類別 ? 如果不屬於 ,我們需要使用 Import的指引指令匯入所需的名稱空間,如下所示: % @ Import Namespace = % % @ Import Namespace = % ? 上述指令的 Namespace屬性可以指令匯入的名稱空間,以此例是匯入 。 42 ? 421 字串長度與大小寫轉(zhuǎn)換 ? 422 子字串的搜尋 ? 423 插入、刪除和取代子字串 ? 424 字串的比較 ? 425 字串資料的轉(zhuǎn)換 ? 426 StringBuilder類別 42 ? String資料型態(tài)是對應(yīng) .NET Framewok的 ,如下所示: Dim str As String = Dim str1 As String str1 = ? 上述程式碼使用 String資料型態(tài)建立 str和 str1字串物件,並且指定字串內(nèi)容,然後我們可以使用 ( Method) 和屬性( Properties) 來處理字串。 421 字串長度與大小寫轉(zhuǎn)換 屬性 說明L ength 取得字串長度 , 擁有多少個(gè)字元或中文字方法 說明ToLower () As Str ing 將字串的英文字母轉(zhuǎn)換成小寫字母ToUpper() As Str ing 將字串的英文字母轉(zhuǎn)換成大寫字母422 子字串的搜尋 方法 說明I ndexOf(S tring) As Inte ger 傳回第一次搜尋到字串的索引位置 ,如果沒有找到傳回 1L astInde x Of( Stri ng) As Integ e r 傳回反向從最後一個(gè)字元開始搜尋到字串的索引位置 ,如果沒有找到傳回 1I ndexOf(S tring, I nt eger ) As In tege r 傳回第一次搜尋到字串的索引位置 ,如果沒有找到傳回 1 , 傳入的參數(shù) St rin g 為 搜尋字串 , Int ege r 為 開始搜尋的索引位置L astInde x Of( Stri ng, I n t eger ) A sInteg er如同上一個(gè) inde xOf () 方法 , 不過是從尾搜尋到頭的反向搜尋423 插入、刪除和取代子字串 方法 說明Ins ert (I nt eger , S trin g) A s S tri ng 在第一個(gè)參數(shù) In tege r 的索引位置 插 入第二個(gè)參數(shù)的字串Re m ove( Int eger , In tege r) As Str ing 從第一個(gè)參數(shù)開始 ,刪除第二個(gè)參數(shù)的字元數(shù)R eplace( C har, C har) As Str in g 將字串中所有找到的第一個(gè)參數(shù) C har 取代成為 第二個(gè)參數(shù)的 Ch arS ubs trin g( I nt eg er ) As S trin g 從參數(shù) Int eger 開始取出剩下字元的字串S ubs trin g( I nt eg er , I nt e ger ) As Str in g 取出第一個(gè)參數(shù) Int eger 到第二個(gè)參數(shù) I nteg er長度的子字串 onca t(S trin g , S trin g ) AsString將參數(shù)的兩個(gè) St rin g 字串結(jié)合在一起T rim () As Str ing 刪除字串前後的空白字元Tr im En d() As Str ing 刪除字串後的空白字元424 字串的比較 方法 說明C om pareT o(S tring) As Integ er 比較兩個(gè)字串內(nèi)容 ,傳回 值 是整數(shù) , 0 表示相等 , 0 表示參數(shù)的字串比較大 , 0 表示參數(shù)的字串比較小E qual s(O bjec t) A s Boole an 比較兩個(gè)字串是否相等 ,傳回 值 T rue 表示相等 ,F(xiàn) las