場合によっては、コード内で特殊文字(アルファベットや数字ではない文字)を使用する必要があります。 Visual Basic 文字セットの句読点と特殊文字には、プログラム テキストの整理から、コンパイラまたはコンパイル済みプログラムが実行するタスクの定義まで、さまざまな用途があります。 実行する操作は指定されません。
かっこ
SubやFunctionなどのプロシージャを定義するときは、かっこを使用します。 すべてのプロシージャ引数リストをかっこで囲む必要があります。 また、特に複雑な式で演算子の優先順位の既定の順序をオーバーライドする場合は、論理グループに変数または引数を配置するためにかっこを使用します。 この例を次に示します。
Dim a, b, c, d, e As Double
a = 3.2
b = 7.6
c = 2
d = b + c / a
e = (b + c) / a
前のコードの実行後、 d の値は 8.225、 e の値は 3 です。
dの計算では、+よりも/の既定の優先順位が使用され、d = b + (c / a)と同じです。
eの計算のかっこは、既定の優先順位をオーバーライドします。
区切り
区切り記号は、名前が示す内容を行います。コードのセクションを区切ります。 Visual Basic では、区切り文字はコロン (:) です。 区切り記号は、個別の行ではなく、1 行に複数のステートメントを含める場合に使用します。 これにより、領域が節約され、コードの読みやすさが向上します。 次の例は、コロンで区切られた 3 つのステートメントを示しています。
a = 3.2 : b = 7.6 : c = 2
詳細については、「 方法: コード内のステートメントを中断および結合する」を参照してください。
コロン (:) 文字は、ステートメント ラベルの識別にも使用されます。 詳細については、「 方法: ステートメントにラベルを付ける」を参照してください。
連結
連結または文字列のリンクには、&演算子を使用します。 数値を加算する + 演算子と混同しないでください。 数値を操作するときに + 演算子を使用して連結すると、正しくない結果が得られます。 次に例を示します。
var1 = "10.01"
var2 = 11
resultA = var1 + var2
resultB = var1 & var2
前のコードの実行後、 resultA の値は 21.01 で、 resultB の値は "10.0111" です。
メンバー アクセス演算子
型のメンバーにアクセスするには、型名とメンバー名の間にドット (.) または感嘆符 (!) 演算子を使用します。
ドット (.)演算子
クラス、構造体、インターフェイス、または列挙型の . 演算子をメンバー アクセス演算子として使用します。 メンバーには、フィールド、プロパティ、イベント、またはメソッドを指定できます。 この例を次に示します。
Dim nextForm As New System.Windows.Forms.Form
' Access Text member (property) of Form class (on nextForm object).
nextForm.Text = "This is the next form"
' Access Close member (method) on nextForm.
nextForm.Close()
感嘆符 (!)演算子
!演算子は、クラスまたはインターフェイスでのみディクショナリ アクセス演算子として使用します。 クラスまたはインターフェイスには、1 つの String 引数を受け入れる既定のプロパティが必要です。
!演算子の直後の識別子は、既定のプロパティに文字列として渡される引数値になります。 次に例を示します。
Public Class hasDefault
Default Public ReadOnly Property index(ByVal s As String) As Integer
Get
Return 32768 + AscW(s)
End Get
End Property
End Class
Public Class testHasDefault
Public Sub compareAccess()
Dim hD As hasDefault = New hasDefault()
MsgBox("Traditional access returns " & hD.index("X") & vbCrLf &
"Default property access returns " & hD("X") & vbCrLf &
"Dictionary access returns " & hD!X)
End Sub
End Class
MsgBoxの 3 つの出力行はすべて、32856値を表示します。 1 行目はプロパティ indexへの従来のアクセスを使用し、2 番目の行では、 index がクラス hasDefaultの既定のプロパティであり、3 番目の行はクラスへのディクショナリ アクセスを使用するという事実を利用します。
!演算子の 2 番目のオペランドは、二重引用符 (" ") で囲まれていない有効な Visual Basic 識別子である必要があることに注意してください。 つまり、文字列リテラルまたは文字列変数を使用することはできません。
MsgBox呼び出しの最後の行に次の変更を行った場合、"X"は囲まれた文字列リテラルであるため、エラーが発生します。
"Dictionary access returns " & hD!"X")
注
既定のコレクションへの参照は明示的である必要があります。 特に、遅延バインド変数に対して ! 演算子を使用することはできません。
!文字は、Single型文字としても使用されます。
こちらも参照ください
.NET