private void button2_Click(object sender, EventArgs e)
{
int i = 5;
MessageBox.Show(i);
}
失败..
private void button2_Click(object sender, EventArgs e)
{
int i = 5;
MessageBox.Show("hoo" + i);
}
作品。这是为什么??
最佳答案
MessageBox.Show()
需要一个字符串作为其输入参数。
第一个示例失败,因为没有从整数到字符串的隐式转换。
第二个样本成功,因为 "hoo" + i
计算结果为字符串。发生这种情况是因为 C# 语言定义了一个加法运算符,它接受 string
和一个 object
. object
转换为 string
调用 ToString()
.当加法的操作数之一是 string
时,始终选择此字符串加法运算符。 .
关于.net - 为什么在这种情况下我不需要将 int 转换为 string? (。网),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7548150/