创建一个字符串并向其附加文本

时间:2011-03-19 05:25:37

标签: vb.net

好笑,我有一个文本框,我可以为它添加字符串。

但现在我创建了一个这样的字符串:

    Dim str As String = New String("")

我想附加其他字符串。但这样做没有任何功能。我做错了什么?

3 个答案:

答案 0 :(得分:31)

与&连接操作

Dim str as String  'no need to create a string instance
str = "Hello " & "World"

您也可以使用+运算符进行连接,但在尝试连接数字时可能会遇到麻烦。


String.Concat()

连接
str = String.Concat("Hello ", "World")

连接字符串数组时很有用


StringBuilder.Append()

使用StringBuilder连接大量字符串时,会带来更好的效果。

    Dim sb as new System.Text.StringBuilder()
    str = sb.Append("Hello").Append(" ").Append("World").ToString()

.NET中的字符串是不可变的,导致为每个连接实例化一个新的String对象以及它的垃圾收集。

答案 1 :(得分:9)

另一种方法是将新字符添加到字符串中,如下所示:

Dim str As String

str = ""

以这种方式将文字附加到字符串:

str = str & "and this is more text"

答案 2 :(得分:6)

使用字符串连接运算符:

Dim str As String = New String("") & "some other string"

.NET中的字符串是不可变的,因此不存在附加字符串的概念。所有字符串修改都会导致创建并返回新字符串。

这显然会导致糟糕的表现。在常见的日常代码中,这不是问题,但是如果您正在进行密集的字符串操作,其中时间非常重要,那么您将从查看StringBuilder类中受益。它允许您排队附加。一旦你完成追加,你可以要求它实际执行所有排队的操作。

有关这两种方法的详情,请参阅"How to: Concatenate Multiple Strings"