Static (Visual Basic)Static (Visual Basic)

1 つまたは複数の宣言されたローカル変数を引き続き存在し、宣言されているプロシージャの終了後、最新の値を保持するように指定します。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.


通常、プロシージャ内のローカル変数は、プロシージャは停止すると、すぐに存在しなくなります。Normally, a local variable in a procedure ceases to exist as soon as the procedure stops. 静的変数存在し、続け、最新の値を保持します。A static variable continues to exist and retains its most recent value. コード、プロシージャを呼び出します。 次には、変数が再初期化されていないに割り当てられている最新の値をそのまま保持します。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. 静的変数で定義されているクラスまたはモジュールの有効期間中に存在し続けます。A static variable continues to exist for the lifetime of the class or module that it is defined in.


  • 宣言コンテキスト。Declaration Context. 使用することができますStaticローカル変数に対してのみです。You can use Static only on local variables. つまりの宣言コンテキスト、Static変数は、プロシージャまたはプロシージャでは、ブロックに指定する必要があり、ソース ファイル、名前空間、クラス、構造体、またはモジュールにすることはできません。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.

    使用することはできませんStaticプロシージャの内部で構造体。You cannot use Static inside a structure procedure.

  • データ型Staticローカル変数を推論することはできません。The data types of Static local variables cannot be inferred. 詳細については、次を参照してください。ローカル型推論です。For more information, see Local Type Inference.

  • 結合された修飾子。Combined Modifiers. 指定することはできませんStaticと共にReadOnlyShadows、またはShared同じ宣言内で。You cannot specify Static together with ReadOnly, Shadows, or Shared in the same declaration.


静的変数を宣言する場合、Sharedプロシージャ、静的変数の 1 つだけのコピーは、アプリケーション全体の使用。When you declare a static variable in a Shared procedure, only one copy of the static variable is available for the whole application. 呼び出す、Sharedクラスを使用してプロシージャ名、変数、クラスのインスタンスを指すではなくです。You call a Shared procedure by using the class name, not a variable that points to an instance of the class.

ないプロシージャ内で静的変数を宣言する場合Shared変数の 1 つのコピーはクラスの各インスタンスの使用のみ。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. クラスの特定のインスタンスが指す変数を使用して、非共有プロシージャを呼び出します。You call a non-shared procedure by using a variable that points to a specific instance of the class.


次の例は、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

Static変数totalSales1 つだけの時間は 0 に初期化します。The Static variable totalSales is initialized to 0 only one time. 入力するたびにupdateSalestotalSalesまだを計算した最新の値。Each time that you enter updateSales, totalSales still has the most recent value that you calculated for it.

Static修飾子は、このコンテキストで使用できます。The Static modifier can be used in this context:

Dim ステートメントDim Statement

関連項目See Also

Visual Basic における有効期間Lifetime in Visual Basic
変数宣言Variable Declaration
ローカル型の推論Local Type Inference
クラスとオブジェクトObjects and Classes