静态 (Visual Basic)

指定一个或多个声明的局部变量将继续存在,并在声明它们的过程终止后保留其最新值。

注解

通常,一旦过程停止,过程中的局部变量就会停止存在。 静态变量继续存在并保留其最新值。 下次代码调用过程时,变量不会重新初始化,并且它仍保留分配给它的最新值。 静态变量在定义的类或模块的生存期内继续存在。

规则

  • 声明上下文。 只能对局部变量使用 Static 。 这意味着变量的 Static 声明上下文必须是过程中的过程或块,并且不能是源文件、命名空间、类、结构或模块。

    不能在结构过程中使用 Static

  • 无法推断局部变量的 Static 数据类型。 有关详细信息,请参阅 本地类型推理

  • 组合修饰符。 不能一ReadOnly起指定,Shadows也不能Shared在同一声明中指定Static

行为

在过程中声明静态变量 Shared 时,整个应用程序只能使用静态变量的一个副本。 使用类名而不是指向类实例的变量来调用 Shared 过程。

在未 Shared声明过程中的静态变量时,类的每个实例只能使用该变量的一个副本。 通过使用指向类的特定实例的变量来调用非共享过程。

示例:

下面的示例演示了如何使用 Static

Function updateSales(ByVal thisSale As Decimal) As Decimal
    Static totalSales As Decimal = 0
    totalSales += thisSale
    Return totalSales
End Function

totalSales变量Static仅初始化为 0 一次。 每次输入 updateSales时, totalSales 仍具有为其计算的最新值。

修饰 Static 符可用于此上下文:

Dim 语句

另请参阅