共用方式為


Visual Basic 中的變數宣告

您可以宣告變數來指定其名稱和特性。 變數的宣告語句是 Dim 語句。 其位置和內容會決定變數的特性。

如需變數命名規則和考慮,請參閱 宣告項目名稱

宣告層級

局部變數和成員變數

局部變數是在程式內宣告的變數。 成員變數是 Visual Basic 類型的成員;它會在模組層級、類別、結構或模組內宣告,但不在該類別、結構或模組內部的任何程式內宣告。

共用和實例變數

在類別或結構中,成員變數的類別取決於其是否共用。 如果是使用 Shared 關鍵詞宣告,它是 共用變數,而且存在於類別或結構的所有實例之間共用的單一複本中。

否則,它是 實例變數,而且會針對類別或結構的每個實例建立其個別複本。 實例變數的指定複本僅適用於建立實例的類別或結構實例。 它與類別或結構的任何其他實例中的實例變數複本無關。

宣告數據類型

宣告語句中的 As 子句可讓您定義您要宣告之變數的數據類型或物件類型。 您可以為變數指定下列任何類型:

  • 基本數據類型,例如 BooleanLongDecimal

  • 複合數據類型,例如陣列或結構

  • 物件類型或類別,定義於您的應用程式或另一個應用程式中

  • .NET Framework 類別,例如 LabelTextBox

  • 介面類型,例如 IComparableIDisposable

您可以在一個語句中宣告數個變數,而不需要重複數據類型。 在下列語句中,變數 ijk 被宣告為類型 Integerlm 被宣告為 Longxy 被宣告為 Single

Dim i, j, k As Integer  
' All three variables in the preceding statement are declared as Integer.  
Dim l, m As Long, x, y As Single  
' In the preceding statement, l and m are Long, x and y are Single.  

如需數據類型的詳細資訊,請參閱 數據類型。 如需物件的詳細資訊,請參閱 物件和類別元件程序設計

區域類型推斷

類型推斷 可用來判斷未宣告子 As 句之局部變數的數據類型。 編譯程式會從初始化表達式的類型推斷變數的類型。 這可讓您宣告變數,而不明確指出類型。 在下列範例中,num1num2 都是強型別為整數。

Public Sub inferenceExample()

    ' Using explicit typing.
    Dim num1 As Integer = 3

    ' Using local type inference.
    Dim num2 = 3

End Sub

如果您要使用局部類型推斷,Option Infer 必須設定為 On。 如需詳細資訊,請參閱 本機類型推斷Option Infer 語句

宣告變數的特性

變數的 存留期 是可供使用的時間週期。 一般而言,只要宣告變數的專案(例如程式或類別)繼續存在,變數就會存在。 如果變數不需要在包含元素的存留期內繼續存在,您就不需要在宣告中執行任何特殊動作。 如果變數需要比其包含的元素存在更長的時間,您可以在Static 語句中包含 SharedDim 關鍵詞。 如需詳細資訊,請參閱 Visual Basic中的存留期

變數 的範圍 是一組可參考它的所有程序代碼,而不需要限定其名稱。 變數的範圍取決於宣告的位置。 位於指定區域中的程式代碼可以使用該區域中定義的變數,而不需要限定其名稱。 如需詳細資訊,請參閱 Visual Basic中的範圍

變數的 存取層級 是具有存取許可權的程式代碼範圍。 這是由您在語句中使用的存取修飾詞 (例如 PublicDim) 決定。 如需詳細資訊,請參閱 Visual Basic中的存取層級

另請參閱