过程是由声明语句(Function
、、Sub
、Operator
、、Get
Set
)和匹配End
声明括起来的 Visual Basic 语句块。 Visual Basic 中的所有可执行语句必须位于某一过程内。
调用过程
从代码中的其他位置调用过程。 这称为 过程调用。 该过程运行完毕后,它将控制权返回到调用它的代码,即 调用代码。 调用代码是语句或语句中的表达式,该语句按名称指定过程,并将控制权传输到其中。
从过程中返回
过程运行完毕后将控制权返回给调用代码。 要执行此操作,可使用 Return 语句、该过程相应的 Exit 语句或 End <关键字> 语句。 然后控件在过程调用之后传递给调用代码。
使用语句
Return
时,控件会立即返回到调用代码。Return
语句之后的语句不会运行。 在同一过程中可拥有多个Return
语句。使用
Exit Sub
或Exit Function
语句时,控制权会立即返回到调用代码。Exit
语句之后的语句不会运行。 在同一过程中可以有多个Exit
语句,并且在同一过程中可以混合使用Return
和Exit
语句。如果某个过程没有
Return
或Exit
语句,则它在过程正文的最后一个语句之后,以End Sub
、End Function
、End Get
或End Set
语句结尾。 该End
语句立即将控件返回到调用代码。 一个过程中只能有一个End
语句。
形参和实参
在大多数情况下,每次调用过程时都需要对不同的数据进行操作。 可将此信息作为过程调用的一部分传递给该过程。 该过程定义零个或多个参数,每个 参数表示它期望传递给它的值。 对应于过程定义中的每个参数是过程调用中的 参数 。 参数表示在给定的过程调用中传递给相应参数的值。
过程类型
Visual Basic 使用多种过程:
子过程 执行作,但不向调用代码返回值。
事件处理过程是在
Sub
响应用户操作或程序中发生的事件时执行的过程。函数过程 将值返回到调用代码。 他们可以在返回之前执行其他动作。
用 C# 编写的某些函数返回 引用返回值。 函数调用方可以修改返回值,此修改反映在被调用对象的状态中。 从 Visual Basic 2017 开始,Visual Basic 代码可以使用引用返回值,但不能返回引用的值。 有关详细信息,请参阅 参考返回值。
属性过程 在对象或模块上返回和分配属性的值。
当其中一个或两个操作数是新定义的类或结构时,运算符过程定义标准运算符的行为。
Visual Basic 中的泛型过程 定义了一个或多个 类型参数,以便调用代码在每次调用时都可以传递特定的数据类型。
过程和结构化代码
应用程序中的每一行可执行代码都必须位于某些过程中,例如 Main
, calculate
或 Button1_Click
。 如果将大型过程细分为较小的过程,则应用程序更易于阅读。
过程可用于执行重复或共享任务,例如常用计算、文本和控件操作以及数据库操作。 可以从代码中的许多不同位置调用过程,以便可以将过程用作应用程序的构建基块。
使用过程构建代码具有以下优势:
过程允许将程序分解为离散逻辑单元。 可以比在没有过程的情况下调试整个程序更容易调试单独的单元。
开发用于一个程序的过程后,可以在其他程序中使用它们,通常很少或没有修改。 这有助于避免代码重复。