Visual Basic の連結演算子

連結演算子は、複数の文字列を結合して 1 つの文字列にします。 連結演算子には、+& の 2 つがあります。 どちらの演算子も、次の例に示すように基本的な連結演算を行います。

Dim x As String = "Mic" & "ro" & "soft"
Dim y As String = "Mic" + "ro" + "soft"
' The preceding statements set both x and y to "Microsoft".

これらの演算子は、次のように String 型の変数を連結することもできます。

Dim a As String = "abc"
Dim d As String = "def"
Dim z As String = a & d
Dim w As String = a + d
' The preceding statements set both z and w to "abcdef".

2 つの連結演算子の相違点

+ 演算子の基本的な目的は、2 つの数値を加算することです。 ただし、数値オペランドを文字列オペランドに連結することもできます。 + 演算子は、一連の複雑な規則に従って、加算、連結、コンパイル エラーのシグナルの送信、ランタイム InvalidCastException 例外のスローのどれを行うかを決定します。

& 演算子は、String オペランドに対してのみ定義され、Option Strict の設定に関係なく、常にそのオペランドを String に拡大変換します。 文字列の連結には & 演算子を使用することをお勧めします。この演算子は文字列専用として定義されているため、意図しない変換が発生する可能性を減らすことができます。

パフォーマンス: String と StringBuilder

連結、削除、置換などの文字列操作を何度も行う場合は、StringBuilder 名前空間の System.Text クラスを使用するとパフォーマンスが向上します。 StringBuilder オブジェクトを作成して初期化するには追加の命令が必要であり、最終的な値を String に変換するにはまた別の命令が必要になりますが、StringBuilder は高速に実行できるため、この時間を埋め合わせることができます。

関連項目