共用方式為


Visual Basic 中的變數宣告

更新:2007 年 11 月

您宣告變數以指定它的名稱和特性。變數的宣告陳述式 (Declaration Statement) 是 Dim 陳述式 (Visual Basic)。它的位置及內容會決定變數的特性。

如需變數命名規則 (Rule) 及考慮事項等資訊,請參閱宣告項目名稱

宣告層級

區域和成員變數

區域變數是在程序中宣告的變數。「成員變數」(Member Variable) 是 Visual Basic 型別的成員;該變數是在類別 (Class)、結構或模組內部之模組層次宣告的,而不是在類別、結構或模組內部之任何程序內宣告。

共用與執行個體變數

在類別或結構中,成員變數的分類取決於它是否為共用。如果它是用共用關鍵字宣告的,它就是一個共用變數,並且存在於該類別或結構內所有執行個體 (Instance) 共用的一個複本中。

否則它就是一個執行個體變數,而且會為該類別或結構的每個執行個體建立一個單獨複本。執行個體變數的指定複本只可供建立它的執行個體使用。它與任何其他執行個體的複本無關。

宣告資料型別

宣告陳述式中的 As 子句可定義您所宣告的變數之資料型別或物件型別。您可以為變數指定下列任何一個型別:

  • 基礎資料型別 (Elementary Data Type),例如 Boolean、Long 或 Decimal

  • 複合資料型別,例如陣列或結構

  • 於您的或其他應用程式定義的物件型別或類別

  • .NET Framework 類別,例如 LabelTextBox

  • 介面型別,例如 IComparableIDisposable

您可以在一個陳述式中宣告數個變數,不必重複資料型別。在下列陳述式中,變數 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 中的物件導向程式設計使用元件進行程式設計

區域型別推斷

Visual Basic 2008 引進了使用「型別推斷」(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。如需詳細資訊,請參閱區域型別推斷

宣告特性

變數的存留期 (Lifetime) 是它可使用的期間。一般來說,只要宣告變數的項目 (如程序或類別) 持續存在,該變數就存在。在某些情況下,延長變數的存留期是可行的。如需詳細資訊,請參閱 Visual Basic 中的存留期

變數的範圍不需要限定名稱即可參考其所有程式碼集合。變數的範圍取決於它被宣告的地方。位於指定區域內的程式碼不需要完整名稱就可使用該區域定義的變數。如需詳細資訊,請參閱 Visual Basic 中的範圍

變數的存取層次是具有存取權限程式碼的延伸。此乃由存取修飾詞 (Modifier) 決定 (例如 Public (Visual Basic)Private (Visual Basic)),也就是您於 Dim 陳述式中所使用的修飾詞。如需詳細資訊,請參閱 Visual Basic 中的存取層級

請參閱

工作

HOW TO:建立新的變數

HOW TO:建立不變更值的變數

HOW TO:移入和移出變數資料

概念

決定要定義的變數型別

宣告項目特性

區域型別推斷

參考

資料型別摘要 (Visual Basic)

Protected (Visual Basic)

Friend (Visual Basic)

Static (Visual Basic)

Option Infer 陳述式