考虑以下代码:
Dim a As Integer = 4
Dim c As Integer = 3
Console.WriteLine(a.ToString + c)
Console.ReadLine()
它应该返回43,因为a正被转换为字符串,但仍然返回7
答案 0 :(得分:2)
因为您需要将两个操作数转换为字符串,和/或使用字符串连接运算符&
。
目前,您正在评估此表达式:
"4" + 3
并且VB决定将第一个操作数转换为整数以匹配第二个操作数。如果两个操作数都是字符串,VB将只与+
执行字符串连接。它更喜欢用+
算术。
一些有用的链接:
正如您从这些链接中看到的那样,Option Strict
的设置起了作用。你明确将其设置为Off
,但坦率地将其设置为On
将是谨慎的。
就我个人而言,我会这样写
a.ToString & c.ToString
最重要的是,如果您知道要连接字符串,则使用专用字符串连接运算符&
总是更加清晰。