次の方法で共有


オブジェクト変数の値 (Visual Basic)

オブジェクト データ型の変数は、任意の型のデータを参照できます。 Object変数に格納する値はメモリ内の別の場所に保持され、変数自体はデータへのポインターを保持します。

オブジェクト分類子関数

Visual Basic には、次の表に示すように、 Object 変数が参照する内容に関する情報を返す関数が用意されています。

機能 オブジェクト変数が参照している場合は True を返します。
IsArray 1 つの値ではなく、値の配列
IsDate 日付データ型の値、または日付と時刻の値として解釈できる文字列
IsDBNull DBNull型のオブジェクト。存在しないデータまたは存在しないデータを表します。
IsError 例外オブジェクト。次の値から派生します。 Exception
IsNothing 何も、つまり、オブジェクトが現在変数に割り当てられていない
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

オブジェクト変数 numInteger型のデータを参照し、 frm はクラス Formのオブジェクトを参照します。

オブジェクト配列

Object変数の配列を宣言して使用できます。 これは、さまざまなデータ型とオブジェクト クラスを処理する必要がある場合に便利です。 配列内のすべての要素は、同じ宣言されたデータ型を持つ必要があります。 このデータ型を Object として宣言すると、オブジェクトとクラス インスタンスを配列内の他のデータ型と共に格納できます。

こちらも参照ください