Static (Visual Basic)
指定在声明一个或多个局部变量的过程终止后,这些已声明的局部变量将继续存在并保留其最新值。
注解
通常,过程停止后,过程中的局部变量就会不复存在。 静态变量仍然存在并保留其最新值。 下次代码调用该过程时,变量不会重新初始化,并且仍保留你分配给它的最新值。 静态变量在定义它的类或模块的生存期内继续存在。
规则
声明上下文。 只能对局部变量使用
Static
。 这意味着Static
变量的声明上下文必须是过程或过程中的块,不能是源文件、命名空间、类、结构或模块。不能在结构过程中使用
Static
。无法推断
Static
局部变量的数据类型。 有关详细信息,请参阅本地类型推断。组合修饰符。 不能在同一过程声明中同时指定
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
修饰符可用于以下上下文中: