物件變數值 (Visual Basic)
物件資料類型的變數可以參考任何類型的資料。 您在 Object
變數中儲存的值會保留在記憶體中的其他地方,但變數本身保留資料的指標。
物件分類函式
Visual Basic 提供的函式會傳回 Object
變數參考的資訊,如下表所示。
函式 | 如果物件變數參考值陣列,而不是單一值 |
---|---|
IsArray | 即傳回 True |
IsDate | 日期資料類型值,或可解譯為日期和時間值的字串 |
IsDBNull | DBNull 類型的物件表示遺漏或不存在的資料 |
IsError | 例外狀況物件源自 Exception |
IsNothing | Nothing 即目前未指派物件給變數 |
IsNumeric | 數字或可解譯為數字的字串 |
IsReference | 參考型別 (例如字串、陣列、委派或類別類型) |
您可以使用這些函式避免提交不正確值至作業或程序。
TypeOf 運算子
您也可以使用 TypeOf 運算子,判斷物件變數目前是否參考特定的資料類型。 如果執行階段類型的運算元源自或實作指定的類型,TypeOf
...Is
運算式會評估為 True
。
下列範例會在參考值和參考型別的物件變數上,使用 TypeOf
。
' The following statement puts a value type (Integer) in an Object variable.
Dim num As Object = 10
' The following statement puts a reference type (Form) in an Object variable.
Dim frm As Object = New Form()
If TypeOf num Is Long Then Debug.WriteLine("num is Long")
If TypeOf num Is Integer Then Debug.WriteLine("num is Integer")
If TypeOf num Is Short Then Debug.WriteLine("num is Short")
If TypeOf num Is Object Then Debug.WriteLine("num is Object")
If TypeOf frm Is Form Then Debug.WriteLine("frm is Form")
If TypeOf frm Is Label Then Debug.WriteLine("frm is Label")
If TypeOf frm Is Object Then Debug.WriteLine("frm is Object")
上述範例會將下列程式碼寫入 [偵錯] 視窗:
num is Integer
num is Object
frm is Form
frm is Object
物件變數 num
會參考 Integer
類型的資料,而 frm
會參考 Form 類別的物件。
物件陣列
您可以宣告並使用 Object
變數的陣列。 這適用於需要處理各種資料類型和物件類別時。 陣列中的所有元素必須使用相同的宣告資料類型。 宣告此資料類型為 Object
讓您可以同時儲存物件與類別執行個體,及陣列中其他的資料類型。