实例031 静态变量

  静态变量是特殊的变量类型。静态变最在被声明的方法或类的范围内保持值不变。

Static (Visual Basic)

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

备注

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

规则

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

    不能在结构过程中使用 Static

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

  • 组合修饰符。 不能在同一声明中同时指定 Static 与 ReadOnlyShadows或 Shared

行为

如果在 Shared 过程中声明静态变量,则整个应用程序只有一个静态变量副本可供使用。 使用类名称调用 Shared 过程,而不是指向类的实例的变量。

如果在不 Shared的过程中声明静态变量,则该类的每个实例只能有一个变量副本。 使用指向类的特定实例的变量调用非共享过程。

Module Module1

    Public Class TestStatic
        Public Sub TellTheCoounterValue()
            Static nCounter As Integer = 1
            Console.WriteLine(nCounter)
            nCounter += 1
        End Sub

    End Class
    Sub Main()
        Dim counter As New TestStatic
        Dim i As Integer
        For i = 1 To 10
            counter.TellTheCoounterValue()
        Next

        Console.Read()
    End Sub

End Module
 

发布了146 篇原创文章 · 获赞 0 · 访问量 2747

猜你喜欢

转载自blog.csdn.net/ngbshzhn/article/details/105561152