Visual Basic 中的變數宣告
您可以宣告變數來指定其名稱和特性。 變數的宣告陳述式是 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 陳述式。
宣告變數的特性
變數的存留期是指該變數可供使用的時間長度。 一般而言,只要宣告變數的項目 (例如程序或類別) 繼續存在,變數就會存在。 如果變數不需要在包含元素的存留期內繼續存在,您就不需要在宣告中執行任何特殊動作。 如果變數必須持續存在超過其包含項目的時間,您可以在其 Dim
陳述式中包含 Static
或 Shared
關鍵字。 如需詳細資訊,請參閱 Visual Basic 中的存留期。
變數的範圍是一組可參考它的所有程式碼,而不需要限定其名稱。 變數的範圍取決於其宣告的位置。 位於指定區域的程式碼可以使用該區域中定義的變數,而不需要限定其名稱。 如需詳細資訊,請參閱 Scope in Visual Basic。
變數的存取層級是有權存取變數的程式碼延伸區。 這取決於您在 Dim
陳述式中使用的存取修飾詞 (例如Public 或 Private)。 如需詳細資訊,請參閱 Visual Basic 中的存取層級。