Tiara
進階會員
青丘美人!!!!!
積分 2739
發文 274
註冊 2006-6-6 來自 青丘島
狀態 離線
|
#1 〔教學〕VB.NET裡面的語法
VB.NET基本語法
本節中將帶讀者瀏覽VB.NET的基本語法,幫助不熟悉VB的讀者可以很容易的繼續閱讀本書;同時因為在ASP.NET中VB的語法有不少的改變,有VB及ASP程式設計經驗的讀者也應該仔細閱讀本節的內容,才能溫故而知新。必須注意的是,在ASP.NET中我們必須將程式放在以下的架構中:
<Script Language="VB" runat="server">
Sub Page_load(sender as Object, e as EventArgs)
‘ 程式內容
End Sub
</Script>
並將檔名儲存為*.aspx,在瀏覽該網頁時瀏覽器才會自動執行我們撰寫的程式碼。
資料的基本運算
加減乘除四則運算是所有程式語言最基本的功能之一,然而必須注意的是對不同的資料型別而言,運算有著不同的意義:
以數值資料而言(整數、浮點數、小數),運算的情況最為單純:
Dim A as Integer = 10
Dim B as Integer = 5
Response.Write(A / B)
以上的程式將會顯示出A除以B的結果。
常用的運算包括:
符號
功能
範例
+
加
40 + 16 = 56
-
減
40 – 16 = 24
*
乘
40 * 16 = 640
/
除
40 / 16 = 2.5
\
商數
40 \ 16 = 2
Mod
餘數
40 Mod 16 = 8
^
指數
2 ^ 10 = 1024
對於文字資料,常用的運算只有串接,也就是把兩個以上的字串(或字元)連接在一起,例如:
Dim A as String = “今天是”
Dim B as String = “星期一”
Response.Write(A & B)
就會在瀏覽器中顯示出”今天是星期一”。其中”&”就是用來串接字串的運算符號,”&”也可以使用”+”來代替,兩者的結果完全相同,但是筆者建議在串接字串時還是使用”&”,避免和加法產生混淆而降低了程式的可讀性。
最值得一提的是VB.NET中新增了一種簡化的運算語法:我們可以將以下的程式:
A = A + 1
簡化為
A += 1
在串接字串時也是一樣,例如:
Dim myString as String = “今天是”
myString &= “星期一”
則myString將會變為“今天是星期一”。
類似的運算包括有:
簡化的表示法
相當於
A += C
A = A + C
A -= C
A = A – C
A *= C
A = A * C
A /= C
A = A / C
A ^= C
A = A ^ C
A &= C
A = A & C
這種表示方式乍看之下似乎很詭異,但是讀者用久了就會很習慣而懶得再使用舊有的語法,事實上這是VB從C語言中學來的東西,對C/C++程式設計師而言,一定覺得很親切。
資料的比較
在程式中經常需要判斷變數或運算式之間的關係,在VB.NET中表示方式如下表:
符號
意義
<
小於
<=
小於或等於
>
大於
>=
大於或等於
=
等於
<>
不等於
控制程式的流程
在程式設計中最常使用的語法之一就是依照某些條件來控制程式的進行方向:
If (條件一) then
若條件一成立則執行此處的程式 ,並跳至End If
Else If (條件二) then
若條件二成立則執行此處的程式 ,並跳至End If
Else
若以上條件都不成立則執行此處的程式,並跳至End If
End IF
當條件中的值或判斷式的結果為真(True)時就代表條件成立,若結果為偽(False),則表示條件不成立。另外以下幾點需要特別注意:
1. Else If 也可以寫成 ElseIF (中間沒有空格)
2. End If 在VB 6.0中可以寫成EndIF,但是在VB.NET中已不支援這樣的寫法。
3. 當條件比較複雜時,可以使用邏輯運算連結一個以上的條件,例如:
If (myScore > 70) And (myScore < 80) Then ...
VB.NET中的邏輯運算符號包括有And (且)、Or (或)、Xor (互斥或)和Not (非)等四種,分別表示如下:
運算結果 = 值或判斷式1 And 值或判斷式2
運算結果 = 值或判斷式1 Or 值或判斷式2
運算結果 = 值或判斷式1 Xor 值或判斷式2
運算結果 = Not 值或判斷式
而運算的結果為:
And:(所有值或判斷式皆為True時結果為Ture)
運算結果
值或判斷式1
值或判斷式2
True
True
True
False
True
False
False
False
不需運算
False
False
不需運算
Or:(任一值或判斷式為True時結果為Ture)
運算結果
值或判斷式1
值或判斷式2
True
True
不需運算
True
True
不需運算
True
False
True
False
False
False
Xor:(其中一個,且只有一個值或判斷式為True時結果為Ture)
運算結果
值或判斷式1
值或判斷式2
False
True
True
True
True
False
True
False
True
False
False
False
Not:(得到與值或判斷式相反的結果)
運算結果
值或判斷式
True
False
False
True
讀者可能已經注意到,在上面的表中有部分與一般常見的運算方式不同:在進行And或是Or運算的時候,有些值或運算式是不需運算的,這是為什麼?以前面的條件式為例:
If (myScore > 70) And (myScore < 80) Then ...
在VB 6.0中無論myScore的值是多少,都會先判斷myScore > 70的結果是True或是False、再判斷myScore < 80的結果是True還是False,然後再進行And運算而得到最後的結果;但是我們都知道,若是myScore > 70的結果為False,則經過And運算之後的結果必然也是False,根本不用浪費時間去判斷myScore < 80以及進行And運算。VB.NET考慮到了這一點,因此進行邏輯判斷的效率自然比之前的VB 6.0要高。
If固然好用,但是當選擇很多的時候,使用If的語法就顯得比較累贅,這時可以改用:
Select Case 變數或運算式
Case值一
當運算式的結果或變數中的值等於”值一”時,執行此處的程式,並跳至End Select
Case值二
當運算式的結果或變數中的值等於”值二”時,執行此處的程式,並跳至End Select
Case值三
當運算式的結果或變數中的值等於”<span style="FONT-FAM
|
|