Static (Visual Basic)Static (Visual Basic)

Gibt an, dass eine oder mehrere deklarierte Variablen sind weiterhin vorhanden, und behalten ihre aktuellen Werte nach dem Beenden der Prozedur, in der sie deklariert werden.Specifies that one or more declared local variables are to continue to exist and retain their latest values after termination of the procedure in which they are declared.

HinweiseRemarks

Normalerweise wird eine lokale Variable in einer Prozedur vorhanden ist, sobald die Prozedur beendet wird.Normally, a local variable in a procedure ceases to exist as soon as the procedure stops. Eine statische Variable bleibt erhalten und den aktuellen Wert beibehält.A static variable continues to exist and retains its most recent value. Das nächste Mal, das der Code der Prozedur wird, die Variable wird nicht erneut initialisiert, und sie behält den aktuellen Wert, den Sie zugewiesen.The next time your code calls the procedure, the variable is not reinitialized, and it still holds the latest value that you assigned to it. Eine statische Variable bleibt für die Lebensdauer der Klasse oder des Moduls vorhanden sein, die sie in definiert ist.A static variable continues to exist for the lifetime of the class or module that it is defined in.

RegelnRules

  • Deklarationskontext.Declaration Context. Sie können Static nur für lokale Variablen.You can use Static only on local variables. Dies bedeutet, dass der Deklarationskontext für eine Static Variable muss eine Prozedur oder einen Block in einer Prozedur, und ist nicht möglich Quelldatei, Namespace, Klasse, Struktur oder Moduls.This means the declaration context for a Static variable must be a procedure or a block in a procedure, and it cannot be a source file, namespace, class, structure, or module.

    Sie können keine Static innerhalb einer Strukturprozedur.You cannot use Static inside a structure procedure.

  • Die Datentypen der Static lokale Variablen können nicht abgeleitet werden.The data types of Static local variables cannot be inferred. Weitere Informationen finden Sie unter Local Type Inference.For more information, see Local Type Inference.

  • Kombinierte Modifizierer.Combined Modifiers. Sie können keine angeben Static zusammen mit ReadOnly, Shadows, oder Shared in der gleichen Deklaration.You cannot specify Static together with ReadOnly, Shadows, or Shared in the same declaration.

VerhaltenBehavior

Wenn Sie deklarieren eine statische Variable in einem Shared Verfahren nur eine Kopie der statischen Variable steht für die gesamte Anwendung.When you declare a static variable in a Shared procedure, only one copy of the static variable is available for the whole application. Rufen Sie eine Shared name Prozedur mithilfe der Klasse, die nicht auf eine Variable, die auf eine Instanz der Klasse verweist.You call a Shared procedure by using the class name, not a variable that points to an instance of the class.

Wenn Sie eine statische Variable in einer Prozedur, die nicht deklarieren Shared, nur eine Kopie der Variablen für jede Instanz der Klasse zur Verfügung steht.When you declare a static variable in a procedure that isn't Shared, only one copy of the variable is available for each instance of the class. Sie können eine nicht freigegebene Prozedur aufrufen, mithilfe einer Variablen, die auf eine bestimmte Instanz der Klasse verweist.You call a non-shared procedure by using a variable that points to a specific instance of the class.

BeispielExample

Das folgende Beispiel veranschaulicht die Verwendung von Static.The following example demonstrates the use of Static.

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 ein Mal mit 0 initialisiert.The Static variable totalSales is initialized to 0 only one time. Jedes Mal, den Sie eingeben updateSales, totalSales noch immer den letzten Wert an, die Sie dafür berechnet.Each time that you enter updateSales, totalSales still has the most recent value that you calculated for it.

Die Static Modifizierer kann in diesem Kontext verwendet werden:The Static modifier can be used in this context:

Dim-AnweisungDim Statement

Siehe auchSee also