为什么Tostring不将int转换为string

时间:2014-04-05 06:56:36

标签: vb.net

考虑以下代码:

Dim a As Integer = 4
Dim c As Integer = 3
Console.WriteLine(a.ToString + c)
Console.ReadLine()

它应该返回43,因为a正被转换为字符串,但仍然返回7

1 个答案:

答案 0 :(得分:2)

因为您需要将两个操作数转换为字符串,和/或使用字符串连接运算符&

目前,您正在评估此表达式:

"4" + 3

并且VB决定将第一个操作数转换为整数以匹配第二个操作数。如果两个操作数都是字符串,VB将只与+执行字符串连接。它更喜欢用+算术。

一些有用的链接:

正如您从这些链接中看到的那样,Option Strict的设置起了作用。你明确将其设置为Off,但坦率地将其设置为On将是谨慎的。

就我个人而言,我会这样写

a.ToString & c.ToString

最重要的是,如果您知道要连接字符串,则使用专用字符串连接运算符&总是更加清晰。