好笑,我有一个文本框,我可以为它添加字符串。
但现在我创建了一个这样的字符串:
Dim str As String = New String("")
我想附加其他字符串。但这样做没有任何功能。我做错了什么?
答案 0 :(得分:31)
与&连接操作强>
Dim str as String 'no need to create a string instance
str = "Hello " & "World"
您也可以使用+运算符进行连接,但在尝试连接数字时可能会遇到麻烦。
连接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"。