.net - 为什么在这种情况下我不需要将 int 转换为 string? (。网)

标签 .net messagebox

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/

相关文章:

.net - 什么是 DNVM?

c# - 在 C# 中将巨型 bool 数组保存/加载到磁盘?

c# - 如何为文本框设置数字 1000 到 1,000 的格式,以在标签和 message.show 中的 C# Tostring 中使用

android - 主屏幕 - 微小的信息消息

.net - ADO.NET:DataSet 或 DataTable 以及如何检索数据

c# - .NET 中的多线程 - 在后台实现计数器

c# - 来自运行时数据层的 C# 中的动态 odata 服务

c# - 向用户显示文件无法加载到程序 C# 的消息

c++ - 如何接收来自 Windows MessageBox 的反馈?

c# - 如何在 mvc Controller 中创建确认框?