VB的控件结构概述(4)

http://www.itjxue.com  2015-07-17 21:29  来源:未知  点击次数: 

  Exit Do 语句可以在 Do 循环语法的所有版本中使用。

  Exit For 和 Exit Do 非常有用,因为它有时适于立即退出循环,而且不再执行循环中的任何进一步迭代或者语句。例如,在前面的打印屏幕和打印机共有字体的例子中,程序不断将打印机字体和给定的屏幕字体作比较,甚至在已经找到了一个相符的打字机字体后还在继续寻找。对这个函数有一个效率更高的改进版,在此,只要找到相匹配的字体后就立即退出循环:

  Private Sub Form_Click ()

  Dim SFont, PFont

  For Each SFont In Screen.Fonts ()

  For Each PFont In Printer.Fonts ()

  If SFont = PFont Then

  Print Sfont

  Exit For'退出内圈循环。

  End If

  Next PFont

  Next SFont

  End Sub

  正如此例所表明的, Exit 语句几乎总是出现在 If 语句或 Select Case 语句内部,而 If 语句或 Select Case 语句在循环内嵌套。

  用 Exit 语句中断循环时,计数器变量的值会因退出循环的方式而不同:

  1.在完成循环时,计数器的值等于上限值加上步进值。

  2.在提前退出循环时,计数器变量保持其值,并遵从有关取值范围的一般规则。

  3.在集合之外叠代时,如果计数器变量为 Object 类型,则其值为Nothing;如果计数器变量为 Variant 类型,则其值为 Empty。

  退出子过程或函数过程

  也可从控制结构内部退出过程。Exit Sub 和 Exit Function 的语法,和上一节“退出控制结构”中的 Exit For 和 Exit Do 相似。Exit Sub 可以出现在子过程主体内的任何地方,出现的次数随需要而定。

  当过程已完成每个任务并可直接返回时,Exit Sub 和 Exit Function 是非常有用的。例如,如果想改动前面的例子,使得对查找到的打印机和屏幕的共有字体,只打印其中的第一个,则可用 Exit Sub :

  Private Sub Form_Click ()

  Dim SFont, PFont

  For Each SFont In Screen.Fonts ()

  For Each PFont In Printer.Fonts ()

  If SFont = PFont Then

  Print Sfont

  Exit Sub  '退出过程。

  End If

  Next PFont

  Next SFont

  End Sub

(责任编辑:IT教学网)

更多

推荐编程综合文章