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 修饰符可用于下面的上下文中: