Visual Basic の式
更新 : 2007 年 11 月
このトピックの内容は、次の製品に該当します。
Edition |
Visual Basic |
C# |
C++ |
Web Developer |
---|---|---|---|---|
Express |
||||
Standard |
||||
Pro/Team |
表の凡例 :
対象 |
|
該当なし |
|
既定で非表示のコマンド |
マネージ式エバリュエータでは、Visual Basic で記述されたほとんどの式を評価できます。[イミディエイト] ウィンドウの式エバリュエータでは、単一行のステートメントしかサポートされません。
次に示すセクションでは、サポートされている式について詳細に説明します。また、サポートされていない式の種類についても説明します。
識別子と型
関数評価
演算子
サポートされないキーワード
文字列
キャスト
TypeOf 演算子
組み込みの型が含まれるオブジェクト変数
プロパティの評価
WebMethods
変数宣言
Visual Basic では、データ型の内容を意味のある形で表示するための自動展開規則がサポートされません。詳細については、「独自のデータ型の要素の表示」を参照してください。
キャスト
デバッガでは、次のような簡単なキャストを使用できます。
A = CStr(B)
関数評価
デバッガは、オーバーロードされた関数も含め、関数の評価をサポートしています。したがって、次のいずれかの式を入力すると、オーバーロードされた関数の中から正しい関数が呼び出されます。
myFunction (param1)
myFunction (param1, param2)
デバッガは、関数を評価するときに、その関数のコードを呼び出して実行します。その関数がメモリの割り当てやグローバル変数値の変更などの処理を伴う場合は、デバッガ ウィンドウで関数を評価すると、プログラムの状態が変化して、予測不可能な結果が生じる可能性があります。
オーバーロードされた関数にブレークポイントを設定する場合、ブレークポイントの位置は関数の指定方法によって変わります。関数名だけを指定した場合は、その関数名のオーバーロードごとに 1 つのブレークポイントが設定されます。シグネチャ全体 (関数名とすべての引数のリスト) を指定した場合は、指定されたオーバーロードに 1 つのブレークポイントが設定されます。
識別子と型
デバッガ式には、現在のスコープで参照できるどの識別子でも使用できます。たとえば、デバッガが Magh 関数で停止した場合は、変数名や関数名も含めて Magh で参照できるほとんどの識別子を使用できます。ローカル定数はサポートされません。また、現在のスコープで参照できるどの変数の値でも設定できます。
デバッガでは、プリミティブ型または組み込みの型のどの変数でも正しく表示できます。クラス型の変数については、最派生型に基づいた値を正しく表示できます。Cat 型から派生した Lion 型の leo オブジェクトがある場合、leo.Clawlength を評価し、Lion 型のオブジェクトの正しい値を取得できます。
インポート エイリアス
デバッガ ウィンドウでは、インポート エイリアスを使用できません。
組み込みの型が含まれるオブジェクト変数
整数などの組み込みの変数型が含まれるオブジェクト変数を表示および編集する方法は、直観的ではありません。たとえば、ソース コードに次のようなオブジェクト変数があるとします。
Dim obj As Object = 5
ウォッチ ウィンドウに変数 obj の値が表示されます。
5 {Integer}
この変数の値を 6 に変更するには、次のように入力します。
6
次のようには入力しません。
6 {Integer}
値を編集すると、{Integer} が自動的に追加されます。
演算子
デバッガは、次の演算子を含む大部分の演算子を正しく評価します。
算術演算子 : (expr1 + expr2、expr1 - expr2、expr1 * expr2、expr1 / expr2、expr1\expr2、expr1^expr2、expr1Modexpr2)。
代入演算子: (var1 = expr2、var1 ^= expr2、var1 *= expr2、var1 /= expr2、var1 \= expr2、var1 += expr2、var1 -= expr2、var1 &= expr2)。
比較演算子: (expr2 < expr2、expr2 <= expr2、expr1 > expr2、expr1 >= expr2、expr1 = expr2、expr1 <> expr2)。
連結演算子: (expr1 & expr2、expr1 + expr2)。
論理演算子 : (expr1 And expr2、expr1 Or expr2、expr1 XOr expr2、expr1 AndAlso expr2、expr1 OrElse expr2、Notexpr1)。
単項演算子 : (- expr1、Not expr1、GetType (type))。
プロパティの評価
デバッガは、どの変数ウィンドウでもプロパティを評価できます。ただし、デバッガでプロパティを評価すると、変数値が変更されるなどの副作用が発生する可能性があり、プログラムの結果に影響を与えます。予定外の評価による副作用が発生しないようにするには、[全般] ([オプション] ダイアログ ボックス - [デバッグ]) でプロパティ評価をオフにします。
文字列
Visual Basic では、文字列に対して Length 演算子を使用できます。
mystring.Length
または
"hello world".Length
TypeOf 演算子
Visual Basic では、デバッガ ウィンドウで TypeOf 演算子を使用できます。
TypeOf expression Is type
たとえば、次のようになります。
TypeOf Me Is Integer
値 false を表示します。
TypeOf は、Is を含む式の一部として使用してください。Is がない式で TypeOf を使用すると、次のエラー メッセージが表示されます。
Is required
サポートされないキーワード
次の Visual Basic キーワードは、デバッガ ウィンドウ式でサポートされていません。
AddressOf
End
Error
Exit
Goto
On Error
Return
Resume
Select/Case
Stop
SyncLock
Throw
Try/Catch/Finally
With
また、End Sub や Module など、名前空間またはモジュール レベルのキーワードもサポートされません。
変数宣言
デバッガ ウィンドウでは、明示的に新しい変数を宣言できません。
ただし、[イミディエイト] ウィンドウで暗黙的な変数に割り当てることはできます。このように暗黙的な変数のスコープは、デバッガ内に制限されるため、デバッガの外部ではアクセスできません。たさえば、ステートメント o = 5 によって、新しい変数 o が暗黙的に作成され、値 5 が割り当てられます。このように暗黙的な変数は、デバッガで型を推測できなければ、型 Object になります。
WebMethods
デバッガ ウィンドウで WebMethods を呼び出すことはできません。