Private Sub Command1_Click() Dim a As String Dim b As Variant Dim s As Variant '区别如下,没有谁对谁错 '但用 & 比较可以与数值相加区分开.使代码更清晰. a = "10" b = 10 Print a + b '结果是20 Print a & b '结果是"1010" '速度一样 Dim t As Single Dim i As Long t = Timer For i = 0 To 5000000 s = a + b Next Print Timer - t t = Timer For i = 0 To 5000000 s = a & b Next Print Timer - t End Sub
dim s as string s=string(vbnullchar,255) mid$(s,1,5)="12345" mid$(s,6,7)="abcdefg"对于vb来说string类型实质是oleString 在进行连接的时候都有再次分配内存 然后复制原字符串到新的内存块中,相比而言,预先分配好内存缓冲区然后写入串是性能最佳的方案
Private Sub Command1_Click()
Dim a As String
Dim b As Variant
Dim s As Variant
'区别如下,没有谁对谁错
'但用 & 比较可以与数值相加区分开.使代码更清晰.
a = "10"
b = 10
Print a + b '结果是20
Print a & b '结果是"1010"
'速度一样
Dim t As Single
Dim i As Long
t = Timer
For i = 0 To 5000000
s = a + b
Next
Print Timer - t
t = Timer
For i = 0 To 5000000
s = a & b
Next
Print Timer - t
End Sub
Text1.text=Text1.text & i上两行是一般不懂规矩人的用法, 总有一天你会尝到苦头滴.....Label1.caption=Label1.caption & cstr(i)
Text1.text=Text1.text & cstr(i)数值相加毫无疑问就是用加
楼上这位大师,我想知道为什么“会尝到苦头”?用 & 连接,就表示是以字符串方式连接了,在VB中,它会进行类型转换的。
dim s as string
s=string(vbnullchar,255)
mid$(s,1,5)="12345"
mid$(s,6,7)="abcdefg"对于vb来说string类型实质是oleString 在进行连接的时候都有再次分配内存 然后复制原字符串到新的内存块中,相比而言,预先分配好内存缓冲区然后写入串是性能最佳的方案
+可以用于字符串连接,也可以将两个数字加起来
对于VB来说,如果变量定义时不精确,用+更容易出错