您可以宣告變數來指定其名稱和特性。 變數的宣告語句是 Dim 語句。 其位置和內容會決定變數的特性。
如需變數命名規則和考慮,請參閱 宣告項目名稱。
宣告層級
局部變數和成員變數
局部變數是在程式內宣告的變數。 成員變數是 Visual Basic 類型的成員;它會在模組層級、類別、結構或模組內宣告,但不在該類別、結構或模組內部的任何程式內宣告。
共用和實例變數
在類別或結構中,成員變數的類別取決於其是否共用。 如果是使用 Shared 關鍵詞宣告,它是 共用變數,而且存在於類別或結構的所有實例之間共用的單一複本中。
否則,它是 實例變數,而且會針對類別或結構的每個實例建立其個別複本。 實例變數的指定複本僅適用於建立實例的類別或結構實例。 它與類別或結構的任何其他實例中的實例變數複本無關。
宣告數據類型
宣告語句中的 As 子句可讓您定義您要宣告之變數的數據類型或物件類型。 您可以為變數指定下列任何類型:
基本數據類型,例如
Boolean
、Long
或Decimal
複合數據類型,例如陣列或結構
物件類型或類別,定義於您的應用程式或另一個應用程式中
介面類型,例如 IComparable 或 IDisposable
您可以在一個語句中宣告數個變數,而不需要重複數據類型。 在下列語句中,變數 i
、j
和 k
被宣告為類型 Integer
,l
和 m
被宣告為 Long
,x
和 y
被宣告為 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
句之局部變數的數據類型。 編譯程式會從初始化表達式的類型推斷變數的類型。 這可讓您宣告變數,而不明確指出類型。 在下列範例中,num1
和 num2
都是強型別為整數。
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
語句中包含 Shared
或 Dim
關鍵詞。 如需詳細資訊,請參閱 Visual Basic中的存留期。
變數 的範圍 是一組可參考它的所有程序代碼,而不需要限定其名稱。 變數的範圍取決於宣告的位置。 位於指定區域中的程式代碼可以使用該區域中定義的變數,而不需要限定其名稱。 如需詳細資訊,請參閱 Visual Basic中的範圍。
變數的 存取層級 是具有存取許可權的程式代碼範圍。 這是由您在語句中使用的存取修飾詞 (例如 Public 或 Dim
) 決定。 如需詳細資訊,請參閱 Visual Basic中的存取層級。