VB.Net 循环
-
循环
在某些情况下,您需要多次执行一个代码块。通常,语句是按顺序执行的:函数中的第一个语句首先执行,然后执行第二个,依此类推。编程语言提供了各种控制结构,允许更复杂的执行路径。循环语句使我们可以多次执行一个语句或一组语句,以下是大多数编程语言中循环语句的一般形式-VB.Net提供以下类型的循环来处理循环需求。单击以下链接以查看其详细信息。循环类型 描述 Do 循环 当布尔条件为True或条件变为True时,它将重复封闭的语句块。它可以随时通过Exit Do语句终止。 For...Next 循环 它将一组语句重复指定的次数,并且循环索引在循环执行时计算循环迭代的次数。 For Each...Next 循环 它为集合中的每个元素重复一组语句。此循环用于访问和操作数组或VB.Net集合中的所有元素。 While... End While 只要给定条件为True,它就会执行一系列语句。 With... End With 它不是完全循环的构造。它执行一系列重复引用单个对象或结构的语句。 嵌套循环 您可以在任何While,For或Do循环中使用一个或多个循环。 -
Do 循环
语法:Do { While | Until } condition [ statements ] [ Continue Do ] [ statements ] [ Exit Do ] [ statements ] Loop -or- Do [ statements ] [ Continue Do ] [ statements ] [ Exit Do ] [ statements ] Loop { While | Until } condition
范例:
尝试一下Module loops Sub Main() ' local variable definition Dim a As Integer = 10 'do loop execution Do Console.WriteLine("value of a: {0}", a) a = a + 1 Loop While (a < 20) Console.ReadLine() End Sub End Module
-
For...Next 循环
语法:For counter [ As datatype ] = start To end [ Step step ] [ statements ] [ Continue For ] [ statements ] [ Exit For ] [ statements ] Next [ counter ]
这是“for”循环中的控制流程-- init步骤首先被执行,并且只有一次。此步骤允许您声明和初始化任何循环控制变量。
- 接下来,测试condition。如果为true,则执行循环主体。如果为假,则不执行循环主体,并且控制流仅在“for”循环之后跳转到下一条语句。
- 在“for”循环的主体执行之后,控制流跳回到increment语句。该语句允许您更新任何循环控制变量。
- 现在将再次测试condition。如果为true,则循环执行并重复执行过程(循环主体,然后是递增步,然后再次是条件)。条件变为假之后,“for”循环终止。
范例:
尝试一下Module loops Sub Main() Dim a As Byte ' for loop execution For a = 10 To 20 Console.WriteLine("value of a: {0}", a) Next Console.ReadLine() End Sub End Module
例如,如果要使用2的步长,则只需显示10到20之间的偶数-
尝试一下Module loops Sub Main() Dim a As Byte ' for loop execution For a = 10 To 20 Step 2 Console.WriteLine("value of a: {0}", a) Next Console.ReadLine() End Sub End Module
-
For Each...Next 循环
它为集合中的每个元素重复一组语句。此循环用于访问和操作数组或VB.Net集合中的所有元素。语法:For Each element [ As datatype ] In group [ statements ] [ Continue For ] [ statements ] [ Exit For ] [ statements ] Next [ element ]
范例:
尝试一下Module loops Sub Main() Dim anArray() As Integer = {1, 3, 5, 7, 9} Dim arrayItem As Integer 'displaying the values For Each arrayItem In anArray Console.WriteLine(arrayItem) Next Console.ReadLine() End Sub End Module
-
While... End While 循环
语法:While condition [ statements ] [ Continue While ] [ statements ] [ Exit While ] [ statements ] End While
范例:
尝试一下Module loops Sub Main() Dim a As Integer = 10 ' while loop execution ' While a < 20 Console.WriteLine("value of a: {0}", a) a = a + 1 End While Console.ReadLine() End Sub End Module
-
With ... End With 循环
它不是完全循环的构造。它执行一系列重复引用单个对象或结构的语句。语法:With object [ statements ] End With
范例:
尝试一下Module loops Public Class Book Public Property Name As String Public Property Author As String Public Property Subject As String End Class Sub Main() Dim aBook As New Book With aBook .Name = "VB.Net Programming" .Author = "Alex Mo" .Subject = "Information Technology" End With With aBook Console.WriteLine(.Name) Console.WriteLine(.Author) Console.WriteLine(.Subject) End With Console.ReadLine() End Sub End Module
-
嵌套循环
VB.Net允许在另一个循环中使用一个循环。以下部分显示了一些示例来说明这一概念。VB.Net中嵌套的 For 循环语句的语法如下-:For counter1 [ As datatype1 ] = start1 To end1 [ Step step1 ] For counter2 [ As datatype2 ] = start2 To end2 [ Step step2 ] ... Next [ counter2 ] Next [ counter 1]
VB.Net语言中的嵌套While循环语句的语法如下-:While condition1 While condition2 ... End While End While
VB.Net语言中嵌套Do ... While循环语句的语法如下-:Do { While | Until } condition1 Do { While | Until } condition2 ... Loop Loop
关于循环嵌套的最后一点是您可以将任何类型的循环放入任何其他类型的循环中。例如,for循环可以在while循环内,反之亦然。范例:
尝试一下Module loops Sub Main() ' local variable definition Dim i, j As Integer For i = 2 To 100 For j = 2 To i ' if factor found, not prime If ((i Mod j) = 0) Then Exit For End If Next j If (j > (i \ j)) Then Console.WriteLine("{0} is prime", i) End If Next i Console.ReadLine() End Sub End Module
-
循环控制语句
循环控制语句从其正常顺序更改执行。当执行离开作用域时,在该作用域中创建的所有自动对象都将被销毁。VB.Net提供以下控制语句。控制声明 描述 Exit 声明 终止循环或Select Case语句,并在循环或Select Case后立即将执行的语句。 Continue 声明 使循环跳过其其余部分,并在重新进行迭代之前立即重新测试条件。 GoTo 声明 将控制权转移到带标签的语句。尽管不建议在程序中使用GoTo语句。 -
Exit 声明
Exit语句将控制权立即从过程或块转移到过程调用或块定义之后的语句。它从调用它的地方终止循环,过程,try块或select块。如果使用嵌套循环(即,另一个循环中的一个循环),则Exit语句将停止执行最里面的循环,并开始执行该块之后的下一行代码。语法:Exit { Do | For | Function | Property | Select | Sub | Try | While }
范例:
尝试一下Module loops Sub Main() ' local variable definition Dim a As Integer = 10 ' while loop execution ' While (a < 20) Console.WriteLine("value of a: {0}", a) a = a + 1 If (a > 15) Then 'terminate the loop using exit statement Exit While End If End While Console.ReadLine() End Sub End Module
-
Continue 声明
Continue语句使循环跳过其主体的其余部分,并在重新进行迭代之前立即重新测试其条件。它的工作有点像Exit语句。而不是强制终止,它会强制执行循环的下一次迭代,从而跳过之间的任何代码。对于For ... Next循环,Continue语句使条件测试和循环的增量部分执行。对于While和Do ... While循环,continue语句使程序控制传递给条件测试。语法:Continue { Do | For | While }
范例:
尝试一下Module loops Sub Main() ' local variable definition Dim a As Integer = 10 Do If (a = 15) Then ' skip the iteration ' a = a + 1 Continue Do End If Console.WriteLine("value of a: {0}", a) a = a + 1 Loop While (a < 20) Console.ReadLine() End Sub End Module
-
GoTo 声明
注 – 在任何编程语言中都强烈建议不要使用goto语句,因为它会使跟踪程序的控制流变得困难,从而使程序难以理解和修改。可以重写任何使用goto的程序来避免使用它们。
GoTo语句将控制无条件地转移到过程中的指定行。GoTo语句的语法是-语法:GoTo label
范例:
尝试一下Module loops Sub Main() ' local variable definition Dim a As Integer = 10 Line1: Do If (a = 15) Then ' skip the iteration ' a = a + 1 GoTo Line1 End If Console.WriteLine("value of a: {0}", a) a = a + 1 Loop While (a < 20) Console.ReadLine() End Sub End Module