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,对于性能的影响都是轻微的。
[此贴子已经被作者于2010-8-1 11:21:05编辑过]