Visual Basic 中的變數宣告
您宣告變數以指定它的名稱和特性。 變數的宣告陳述式 (Declaration Statement) 是 Dim 陳述式 (Visual Basic)。 它的位置及內容會決定變數的特性。
如需變數命名規則 (Rule) 及考慮事項等資訊,請參閱宣告項目名稱 (Visual Basic)。
宣告層級
區域和成員變數
區域變數(Local Variable) 是在程序中宣告的變數。 「成員變數」(Member Variable) 是 Visual Basic 型別的成員;該變數是在類別 (Class)、結構或模組內部之模組層次宣告的,而不是在類別、結構或模組內部之任何程序內宣告。
共用與執行個體變數
在類別或結構中,成員變數的分類取決於它是否為共用。 如果它是用共用關鍵字宣告的,它就是一個「共用變數」(Shared Variable),並且存在於該類別或結構內所有執行個體 (Instance) 共用的一個複本中。
否則它就是一個「執行個體變數」(Instance Variable),而且會為該類別或結構的每個執行個體建立一個單獨複本。 執行個體變數之複製到它建立類別或結構的執行個體是使用。 它是執行個體變數複本的獨立在類別或結構的其他執行個體的。
宣告資料型別
宣告陳述式中的 As 子句可定義您所宣告的變數之資料型別或物件型別。 您可以為變數指定下列任何一個型別:
基礎資料型別 (Elementary Data Type),例如 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.
如需資料型別的詳細資訊,請參閱 Visual Basic 中的資料型別。 如需物件的詳細資訊,請參閱 Visual Basic 中的物件和類別和使用元件進行程式設計。
區域型別推斷
「型別推斷」(Type Inference) 用於判斷未使用 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。 如需詳細資訊,請參閱區域型別推斷 (Visual Basic)與Option Infer 陳述式。
宣告變數的特性。
變數的「存留期」(Lifetime) 是它可使用的期間。 一般來說,只要宣告變數的項目 (如程序或類別) 持續存在,該變數就存在。 如果變數不需要繼續存在於存留期其內含項目之外,您不需要執行任何特殊在宣告。 如果變數需要存在的期間較其所屬項目更長,您可以在變數的 Dim 陳述式 (Statement) 中包含 Static 或 Shared 關鍵字。 如需詳細資訊,請參閱Visual Basic 中的存留期。
變數的「範圍」(Scope) 不需要限定名稱即可參考其所有程式碼集合。 變數的範圍取決於它被宣告的地方。 位於指定區域內的程式碼不需要完整名稱就可使用該區域定義的變數。 如需詳細資訊,請參閱Visual Basic 中的範圍。
變數的「存取層次」(Access Level) 是具有存取權限程式碼的延伸。 此乃由存取修飾詞 (Modifier) 決定 (例如 Public (Visual Basic) 或 Private (Visual Basic)),也就是您於 Dim 陳述式中所使用的修飾詞。 如需詳細資訊,請參閱Visual Basic 中的存取層級。
請參閱
工作
HOW TO:移入和移出變數資料 (Visual Basic)