如何将VB StringBuilder设置为空字符串?

4

我正在使用VB的StringBuilder,想知道在清空builder或将其设置为新字符串时,什么是被认为是“最佳实践”。是否像这样:

Dim str As New System.Text.StringBuilder()
str.Append("Some string to remove")
str = new System.Text.StringBuilder()
str.Append("Ahh, fresh new text!")

或者有更好的方法吗?谢谢。
2个回答

9

我通常只使用:

str.Length = 0

这很有道理,而且看起来更加简洁! - Wayne Werner
有没有一种惯用的方法可以将字符串生成器重置为特定内容(相当于Dim MyString As New StringBuilder("whatever")但不需要声明和创建新实例)? 将长度设置为零,然后附加是我知道的最好方法,但它似乎相当笨拙。 - supercat
在.NET 4中,Clear后跟Append几乎与.ctor相同。在.NET 3.5 / 2.0中也是如此,除非您恰好在不同的线程上进行StringBuilder更改时。然后最好创建一个新的StringBuilder,以避免在将Length清零之前完全复制当前内容! - Mark Hurd

6
在 .Net 4 中,他们添加了一个 Clear 方法来实现这个目的。

1
.NET 4+用户应该使用.Clear,但是.NET 3.5/2.0用户不用担心,它的实现方式是.Length = 0 - Mark Hurd

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接