串联运算符 (Visual Basic)

串联运算符将多个字符串联接为一个字符串。 有两种串联运算符:+&。 这两种串联运算符都执行基本的串联运算,如下面的示例所示。

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".

两种串联运算符之间的区别

+ 运算符的主要用途是将两个数字相加。 然而,它还可以将数值操作数与字符串操作数串联起来。 + 操作数具有一套复杂的规则,用来确定是相加、串联、指示编译器错误还是引发运行时的 InvalidCastException 异常。

& 运算符仅针对 String 操作数定义,而且无论 Option Strict 的设置是什么,它都会将其操作数扩展到 String。 对于字符串串联操作,建议使用 & 运算符,原因是它以独占方式为字符串定义,并降低产生意外转换的可能性。

性能:字符串和 StringBuilder

如果你对字符串执行大量操作(如串联、删除或替换),则通过 StringBuilder 命名空间中的 System.Text 类可能会提高性能。 该类采用额外指令来创建和初始化 StringBuilder 对象,并且使用其他指令将其最终值转换为 String,但此时你可能会恢复使用 StringBuilder,因为它的执行速度更快。

另请参阅