Jav*_*ram 23 vb.net concatenation
在连接字符串时,&和+运算符之间是否有任何区别?如果有,那么有什么区别?如果否,那么为什么下面的代码生成异常?
例:
Dim s, s1, t As String
Dim i As Integer
s1 = "Hello"
i = 1
s = s1 & i
t = s1 + i //Exception here
If s = t Then
MessageBox.Show("Equal...")
End If
Run Code Online (Sandbox Code Playgroud)
Mar*_*rkJ 22
& 仅用于字符串连接. + 重载以执行字符串连接和算术添加.双重目的+导致混乱,就像你的问题中的那样.尤其是当Option Strict是Off,因为编译器会在您的字符串和整数添加隐式类型转换,以尽量使你的代码感.
我的建议
Option Strict On,然后编译器将强制你在认为必要时添加显式强制转换.+由于算术加法的模糊性,您应该避免使用连接.这两项建议也出现在微软出版社的VB和C#实用指南和最佳实践中(第1.16节,第21.2节)
| 归档时间: |
|
| 查看次数: |
104440 次 |
| 最近记录: |