Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gibt an, dass eine oder mehrere deklarierte lokale Variablen weiterhin vorhanden sind und ihre neuesten Werte nach beendigung der Prozedur beibehalten werden, in der sie deklariert werden.
Bemerkungen
Normalerweise ist eine lokale Variable in einer Prozedur nicht mehr vorhanden, sobald die Prozedur beendet wird. Eine statische Variable ist weiterhin vorhanden und behält ihren letzten Wert bei. Wenn Der Code das nächste Mal die Prozedur aufruft, wird die Variable nicht erneut initialisiert, und sie enthält weiterhin den neuesten Wert, den Sie ihm zugewiesen haben. Eine statische Variable ist weiterhin für die Lebensdauer der Klasse oder des Moduls vorhanden, in der sie definiert ist.
Regeln
Deklarationskontext. Sie können nur für lokale Variablen verwenden
Static. Dies bedeutet, dass der Deklarationskontext für eineStaticVariable eine Prozedur oder ein Block in einer Prozedur sein muss und es sich nicht um eine Quelldatei, einen Namespace, eine Klasse, eine Struktur oder ein Modul handeln kann.Sie können nicht innerhalb einer Strukturprozedur verwenden
Static.Die Datentypen lokaler
StaticVariablen können nicht abgeleitet werden. Weitere Informationen finden Sie unter „Lokale Typinferenz“.Kombinierte Modifizierer. Sie können nicht zusammen mit
ReadOnly,ShadowsoderSharedin derselben Deklaration angebenStatic.
Verhalten
Wenn Sie eine statische Variable in einer Shared Prozedur deklarieren, ist nur eine Kopie der statischen Variablen für die gesamte Anwendung verfügbar. Sie rufen eine Shared Prozedur mithilfe des Klassennamens auf, keine Variable, die auf eine Instanz der Klasse verweist.
Wenn Sie eine statische Variable in einer Prozedur deklarieren, die nicht Sharedder Fall ist, ist nur eine Kopie der Variablen für jede Instanz der Klasse verfügbar. Sie rufen eine nicht freigegebene Prozedur mithilfe einer Variablen auf, die auf eine bestimmte Instanz der Klasse verweist.
Beispiel
Im folgenden Beispiel wird die Verwendung von Staticveranschaulicht.
Function updateSales(ByVal thisSale As Decimal) As Decimal
Static totalSales As Decimal = 0
totalSales += thisSale
Return totalSales
End Function
Die Static Variable totalSales wird nur einmal auf 0 initialisiert. Jedes Mal, wenn Sie die Eingabe ausführen updateSales, totalSales weist immer noch den aktuellsten Wert auf, den Sie dafür berechnet haben.
Der Static Modifizierer kann in diesem Kontext verwendet werden: