共用方式為


物件變數值 (Visual Basic)

Object 資料型別的變數可以參考任何型別的資料。 您儲存在 Object 變數中的值會保留在記憶體的其他地方,而該變數本身會保留該資料的指標。

物件 Classifier 函式

Visual Basic 會提供可以傳回 Object 變數所參考內容相關資訊的函式,如下表所示。

Function

如果物件變數有參考則傳回 True

IsArray

值的陣列,而不是單一值

IsDate

Date 資料型別 (Visual Basic) 值,或可解譯為日期和時間值的字串

IsDBNull

型別 DBNull 的物件,代表遺失或不存在的資料

IsError

例外狀況 (Exception) 物件,衍生自 Exception

IsNothing

Nothing (Visual Basic),也就是目前並無物件指派給變數

IsNumeric

數字或可解譯為數字的字串

IsReference

參考型別 (Reference Type) (例如字串、陣列、委派 (Delegate) 或類別型別)

您可使用這些函式以避免送出無效的值至運算或程序。

TypeOf 運算子

您也可以使用 TypeOf 運算子 (Visual Basic) 判斷物件變數目前是否參考特定的資料型別。 如果運算元的執行階段型別是衍生自特定型別 (或會實作特定型別),TypeOf...Is 運算式會評估為 True。

下列範例會在參考實值和參考型別 (Reference Type) 的物件變數上使用 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 變數的陣列。 當您需要處理多種資料型別和物件類別時,這麼做非常有用。 陣列中的所有元素必須有相同的宣告資料型別。 將這個資料型別宣告為 Object 可讓您儲存與陣列中其他資料型別並列的物件和類別執行個體。

請參閱

工作

HOW TO:參考物件目前的執行個體 (Visual Basic)

HOW TO:決定物件變數參考的型別 (Visual Basic)

HOW TO:判斷兩個物件是否關聯 (Visual Basic)

HOW TO:判斷兩個物件是否相同 (Visual Basic)

概念

Visual Basic 中的物件變數

物件變數宣告 (Visual Basic)

物件變數指派 (Visual Basic)

Visual Basic 中的資料型別