具體介紹四大類VB.NET循環
VB.NET有很多值得學習的地方,這里我們主要介紹VB.NET循環,VB.NET循環有三種形式:For/Next循環、While/End While循環、Do/Loop循環和For/Each循環。
1. For/Next循環
用For/Next循環可以精確地控制循環體的執行次數。For/Next循環的語法如下:
- For counter = startvalue To endvalue [Step stepvalue]
- [statements]
- [Exit For]
- [statements]
- Next
其中,用Step關鍵字可以定義循環計數器的增長方式,stepvalue的值(可正可負)來適應各種不同的需求。Exit For語句允許在某種條件下直接退出循環體。用For/Next語句來實現顯示二維數組的內容。
- <%
- Dim arrData(1,2)
- Dim intI,intJ as Integer
- arrData(0,0)=12
- arrData(0,1) =13
- arrData(0,2) =14
- arrData(1,0) =15
- arrData(1,1) =16
- arrData(1,2) =17
- For intI=0 To 1
- For intJ=0 To 2
- Response.Write (arrData(intI,intJ) & " ")
- Next
- Response.Write ("<br>")
- '一行顯示完以后換行顯示下一行
- Next
- %>
可以看出,用For/Next循環來顯示數組這樣的可以確定循環次數的數據結構是十分方便的。
2. While/End While 循環
如果不清楚要執行的循環的次數,那么可以用While/ End While循環。它有一個檢測條件,當條件滿足時,執行循環體的內容。如果條件不滿足,就退出循環。While/ End While語法如下:
- While condition
- [statements]
- End While
由于在進入循環體之前會遇到檢測條件,所以如果這個時候condition的值為False,那么While/ End While循環的循環體有可能一次也不能執行。顯示3次問候信息。
- <%
- Dim intI as Integer
- IntI=0
- While intI<3
- Response.Write ("Hello! Cindy!" & "<br>")
- IntI=intI+1
- End While
- %>
在這個例子的第3行中為第2行中定義的intI變量設置了初值0。這里,如果不設置初值也是可以的,系統會自動為intI進行初始化(VB.NET默認為未顯式初始化的整數初始化為0)。但是,建議養成為變量設置初值的好習慣,這樣可以防止很多意想不到的錯誤。
3. Do/Loop
同樣,在不知道循環次數的情況下,也可以使用Do/Loop 循環。Do/Loop循環的作用與While/ End While十分相似。它的語法是:
- Do {While | Until} condition
- [statements]
- [Exit Do]
- statements]
- Loop
其中,Do后面的While和Until是可選的。使用While時,后面的條件滿足則執行循環體;使用Until時,后面的條件滿足就退出循環體。Do/Loop循環還有另外一種寫法:
- Do
- [statements]
- [Exit Do]
- [statements]
- Loop {While | Until} condition
這種寫法的結果是:循環體在執行的時候至少會執行一次。顯示3次問候信息。
- <%
- Dim intI
- IntI=0
- Do Until intI>2
- Response.Write ("Hello! Cindy!" & "<br>")
- IntI=intI+1
- Loop
- %>
可以看出,Do/Loop的執行和While/End While的執行沒有太大的區別。用戶也可以把上面例子中第4行中的Until改為While并相應地改變后面的條件來實現相同的功能。
4. For/Each
在某些特殊情況下,可以使用For/Each來實現對一個數組或集合(集合將在后面的章節中講解)中元素的遍歷。
For/Each語句的寫法如下:
- For Each item In Array or Collection
- [statements]
- Next
用For/Each顯示一個數組中的所有數據。
- <%
- Dim arrData(3)
- Dim stritem as string
- arrData(0)="Beijing"
- arrData(1)="Shanghai"
- arrData(2)="Guangzhou"
- For Each stritem In arrData
- Response.Write (stritem & "<br>")
- Next
- %>
可以看出,For/Each循環與For/Next循環的區別是:在For/Next循環中需要指明循環的次數,而在For/Each循環中不需要這樣就可以遍歷到一個數組或集合的所有內容。另外需要說明的是,這種循環通常在集合中使用。以上介紹VB.NET循環。
【編輯推薦】