Static (Visual Basic)

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

备注

通常,过程终止后,此过程中的局部变量将立即消失。 静态变量可继续存在,并保留其最新值。 您的代码下次调用该过程时,此变量不会重新初始化,仍然保存已赋给它的最新值。 静态变量在定义它的类或模块的生存期内继续存在。

规则

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

    不能在结构过程内使用 Static。

  • 无法推断出 Static 局部变量的数据类型。 有关更多信息,请参见局部类型推理 (Visual Basic)

  • **组合修饰符。**不能在同一个声明中同时指定 Static 与 ReadOnly、Shadows 或 Shared。

行为

在声明在 Shared 程序的静态变量,因此,只有该静态变量的复制为整个应用程序可用。 您调用 Shared 程序使用类名称,指向类的实例不是的变量。

在声明在不是 Shared程序的一个静态变量,因此,只有该变量的副本对类的每个实例都可用。 您调用非共享程序以指向特定类实例的变量。

示例

下面的示例说明 Static 的用法。

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

Static 变量 totalSales 只初始化为 0 一次。 每次输入 updateSales 时,totalSales 仍然包含为其计算的最新值。

Static 修饰符可用于下面的上下文中:

Dim 语句 (Visual Basic)

请参见

参考

Shadows (Visual Basic)

Shared (Visual Basic)

概念

Visual Basic 中的生存期

Visual Basic 中的变量声明

局部类型推理 (Visual Basic)

其他资源

结构 (Visual Basic)

Visual Basic 中的对象和类