有趣的是,我有一个文本框,我可以向其中添加字符串。
但现在我创建一个像这样的字符串:
Dim str As String = New String("")
我想附加其他字符串。但没有这样做的功能。我做错了什么?
使用 & 运算符连接
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 对象及其垃圾回收。
执行此操作的另一种方法是将新字符添加到字符串中,如下所示:
Dim str As String
str = ""
以这种方式将文本附加到字符串中:
str = str & "and this is more text"
使用字符串连接运算符:
Dim str As String = New String("") & "some other string"
.NET 中的字符串是不可变的,因此不存在附加字符串的概念。所有字符串修改都会导致创建并返回新字符串。
这显然会导致糟糕的表现。在常见的日常代码中,这不是问题,但如果您正在进行密集的字符串操作,其中时间至关重要,那么您将从研究 StringBuilder 类中受益。它允许您对追加进行排队。完成附加后,您可以要求它实际执行所有排队的操作。
有关这两种方法的更多信息,请参阅“如何:连接多个字符串”。
Dim myString as string = "Hello"
myString &= " World"