指定一个或多个声明的局部变量将继续存在,并在声明它们的过程终止后保留其最新值。
注解
通常,一旦过程停止,过程中的局部变量就会停止存在。 静态变量继续存在并保留其最新值。 下次代码调用过程时,变量不会重新初始化,并且它仍保留分配给它的最新值。 静态变量在定义的类或模块的生存期内继续存在。
规则
声明上下文。 只能对局部变量使用
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
符可用于此上下文: