关于String和StringBuilder比较
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
TextBox1.Text = ""
TextBox2.Text = ""
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim startTime As Long = DateTime.Now.Ticks
Dim myString As String = "This is"
Dim i As Integer
For i = 0 To 20
myString += myString
Next
Dim endTime As Long = DateTime.Now.Ticks
TextBox1.Text = (endTime - startTime) * 10
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim startTime As Long = DateTime.Now.Ticks
Dim myStringBuilder As New System.Text.StringBuilder(7)
myStringBuilder.Append("This is")
Static Dim i As Integer = 0
For i = 0 To 20
myStringBuilder.Append("This is")
i += 1
Next
Dim endTime As Long = DateTime.Now.Ticks
TextBox2.Text = (endTime = startTime) * 10
End Sub
End Class
这个比较有问题,何处有问题?谢谢
[解决办法]
如果较多的字符串连接成一串的话,用stringBuilder
这个不需比较的了.你这样比较法也不科学.
[解决办法]
For i = 0 To 20
myString += myString
Next
看懂 有什麽用??
有意阿
[解决办法]
20次循环几乎不耗费资源...称不上频繁...没有意义...
[解决办法]
string 型数据,如果用+连接,对短字符串没有影响,如果是大字符串的话,特别是做很大的循环处理,建议不要用+连接符,要么用API自己来连接,参照Copymemory的用法, 要么用StringBuilder,推荐后一种,其实后一种底层实现是前一种。