コード内の特殊文字 (Visual Basic)Special Characters in Code (Visual Basic)

場合によっては、コードで特殊文字を使用する必要があります。つまり、アルファベットまたは数字以外の文字を使用する必要があります。Sometimes you have to use special characters in your code, that is, characters that are not alphabetical or numeric. Visual Basic 文字セットの句読点と特殊文字には、プログラムテキストの整理から、コンパイラまたはコンパイル済みプログラムによって実行されるタスクの定義まで、さまざまな用途があります。The punctuation and special characters in the Visual Basic character set have various uses, from organizing program text to defining the tasks that the compiler or the compiled program performs. 実行するオペレーションを指定するのには使用されません。They do not specify an operation to be performed.


やなどのSubプロシージャを定義するときはFunction、かっこを使用します。Use parentheses when you define a procedure, such as a Sub or Function. すべてのプロシージャ引数リストをかっこで囲む必要があります。You must enclose all procedure argument lists in parentheses. また、変数または引数を論理グループに含めるためにかっこを使用します。特に、複合式での演算子の優先順位の既定の順序をオーバーライドします。You also use parentheses for putting variables or arguments into logical groups, especially to override the default order of operator precedence in a complex expression. 次に例を示します。The following example illustrates this.

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です。Following execution of the previous code, the value of d is 8.225 and the value of e is 3. d計算では、 +の既定の/優先順位が使用さd = b + (c / a)れます。これはと同じです。The calculation for d uses the default precedence of / over + and is equivalent to d = b + (c / a). e計算のかっこは、既定の優先順位よりも優先されます。The parentheses in the calculation for e override the default precedence.


区切り記号は、コードのセクションを分離します。Separators do what their name suggests: they separate sections of code. Visual Basic では、区切り文字はコロン (:) です。In Visual Basic, the separator character is the colon (:). 複数のステートメントを別々の行ではなく1行に含める場合は、区切り記号を使用します。Use separators when you want to include multiple statements on a single line instead of separate lines. これにより、領域が節約され、コードの読みやすさが向上します。This saves space and improves the readability of your code. 次の例では、コロンで区切られた3つのステートメントを示します。The following example shows three statements separated by colons.

a = 3.2 : b = 7.6 : c = 2

詳細については、「方法 :コード内のステートメントを分割し、結合します。For more information, see How to: Break and Combine Statements in Code.

コロン (:) 文字は、ステートメントラベルを識別するためにも使用されます。The colon (:) character is also used to identify a statement label. 詳細については、「方法 :ラベルステートメントFor more information, see How to: Label Statements.


連結には演算子を使用し、文字列を連結するにはを使用し&ます。Use the & operator for concatenation, or linking strings together. 数値を加算する+演算子と混同しないようにしてください。Do not confuse it with the + operator, which adds together numeric values. 数値を操作する+ときに演算子を使用して連結すると、不適切な結果を得ることができます。If you use the + operator to concatenate when you operate on numeric values, you can obtain incorrect results. 次に例を示します。The following example demonstrates this.

var1 = "10.01"
var2 = 11
resultA = var1 + var2
resultB = var1 & var2

前のコードの実行後、のresultA値は21.01 で、のresultB値は "10.0111" です。Following execution of the previous code, the value of resultA is 21.01 and the value of resultB is "10.0111".

メンバーアクセス演算子Member Access Operators

型のメンバーにアクセスするには、型名とメンバー.名の間にドット!() または感嘆符 () 演算子を使用します。To access a member of a type, you use the dot (.) or exclamation point (!) operator between the type name and the member name.

ドット (.)演算子Dot (.) Operator

メンバーアクセス演算子として、クラス、構造体、インターフェイス、または列挙体に対して演算子を使用します。.Use the . operator on a class, structure, interface, or enumeration as a member access operator. メンバーには、フィールド、プロパティ、イベント、またはメソッドを指定できます。The member can be a field, property, event, or method. 次に例を示します。The following example illustrates this.

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.

感嘆符 (!)演算子Exclamation Point (!) Operator

演算子は! 、クラスまたはインターフェイスでのみ、ディクショナリアクセス演算子として使用します。Use the ! operator only on a class or interface as a dictionary access operator. クラスまたはインターフェイスには、1つStringの引数を受け取る既定のプロパティが必要です。The class or interface must have a default property that accepts a single String argument. 演算子の!直後にある識別子は、既定のプロパティに文字列として渡される引数の値になります。The identifier immediately following the ! operator becomes the argument value passed to the default property as a string. 次に例を示します。The following example demonstrates this.

Public Class hasDefault
  Default Public ReadOnly Property index(ByVal s As String) As Integer
      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

すべてのの3つMsgBoxの出力行に32856値が表示されます。The three output lines of MsgBox all display the value 32856. 最初の行では、プロパティindexへの従来のアクセスを使用します。2番目の行では、クラスhasDefaultの既定のプロパティであるindexファクトを使用し、3番目の行ではクラスへのディクショナリアクセスを使用します。The first line uses the traditional access to property index, the second makes use of the fact that index is the default property of class hasDefault, and the third uses dictionary access to the class.

!演算子の2番目のオペランドは、二重引用符 (" ") で囲まれていない有効な Visual Basic 識別子である必要があることに注意してください。Note that the second operand of the ! operator must be a valid Visual Basic identifier not enclosed in double quotation marks (" "). つまり、文字列リテラルまたは文字列変数を使用することはできません。In other words, you cannot use a string literal or string variable. MsgBox呼び出しの最後の行に次の変更を行うと、は"X"囲まれた文字列リテラルであるため、エラーが生成されます。The following change to the last line of the MsgBox call generates an error because "X" is an enclosed string literal.

"Dictionary access returns " & hD!"X")


既定のコレクションへの参照は明示的に指定する必要があります。References to default collections must be explicit. 特に、遅延バインディング変数に!対して演算子を使用することはできません。In particular, you cannot use the ! operator on a late-bound variable.

文字は、 Single型文字としても使用されます。 !The ! character is also used as the Single type character.

関連項目See also