StringBuilder

StringBuilder通常用于大规模地合并字符串。

StringBuilder的方法有:

名称 说明
Append 将指定的字符串合并到StringBuilder中
AppendLine 另起一行,然后将指定的字符串合并到StringBuilder中。
ToString 将StringBuilder中的内容转换为字符串。

示例

在命令窗口执行下面的代码:

Dim dt As Date = Date.Now
Dim
v As String
Dim
s As new StringBuilder
For
i As Integer = 1 To 100000
    s.AppendLine("abc")
Next

v = s.Tostring
Output.Show((
Date.now - dt).Totalseconds)

在我的电脑测试,上述代码耗时0.015秒。

如果不采用StringBuilder,直接用字符变量和合并:

Dim dt As Date = Date.Now
Dim
v As String
For
i As Integer = 1 To 100000
    v = v & "abc" & vbcrlf
Next

Output.Show((
Date.now
- dt).Totalseconds)

在我的电脑运行上述代码,耗时100.5秒。

可以看出在大规模合并字符串的时候,使用StringBuider比直接使用字符变量的性能高出数千倍。

并非任何时候都要使用StringBuilder,例如我们将上面的代码修改一下,循环次数改为1000:

Dim dt As Date = Date.Now
Dim
v As String
For
i As Integer = 1 To 1000
    v
= v & "abc" &
vbcrlf
Next

Output.Show((
Date.now - dt).TotalSeconds)

耗时只有0.15秒,如果循环次数改为100,耗时为0秒,显然此时是否使用StringBuilder,对于性能的影响都是轻微的。


本页地址:http://www.foxtable.com/webhelp/topics/2097.htm