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
- 1.
- 2.
- 3.
- 4.
- 5.
其中,用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
%>
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
可以看出,用For/Next循环来显示数组这样的可以确定循环次数的数据结构是十分方便的。
2. While/End While 循环
如果不清楚要执行的循环的次数,那么可以用While/ End While循环。它有一个检测条件,当条件满足时,执行循环体的内容。如果条件不满足,就退出循环。While/ End While语法如下:
While condition
[statements]
End While
- 1.
- 2.
- 3.
由于在进入循环体之前会遇到检测条件,所以如果这个时候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
%>
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
在这个例子的第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
- 1.
- 2.
- 3.
- 4.
- 5.
其中,Do后面的While和Until是可选的。使用While时,后面的条件满足则执行循环体;使用Until时,后面的条件满足就退出循环体。Do/Loop循环还有另外一种写法:
Do
[statements]
[Exit Do]
[statements]
Loop {While | Until} condition
- 1.
- 2.
- 3.
- 4.
- 5.
这种写法的结果是:循环体在执行的时候至少会执行一次。显示3次问候信息。
<%
Dim intI
IntI=0
Do Until intI>2
Response.Write ("Hello! Cindy!" & "<br>")
IntI=intI+1
Loop
%>
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
可以看出,Do/Loop的执行和While/End While的执行没有太大的区别。用户也可以把上面例子中第4行中的Until改为While并相应地改变后面的条件来实现相同的功能。
4. For/Each
在某些特殊情况下,可以使用For/Each来实现对一个数组或集合(集合将在后面的章节中讲解)中元素的遍历。
For/Each语句的写法如下:
For Each item In Array or Collection
[statements]
Next
- 1.
- 2.
- 3.
用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
%>
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
可以看出,For/Each循环与For/Next循环的区别是:在For/Next循环中需要指明循环的次数,而在For/Each循环中不需要这样就可以遍历到一个数组或集合的所有内容。另外需要说明的是,这种循环通常在集合中使用。以上介绍VB.NET循环。
【编辑推荐】