c# - 为什么我不能显式地将 int 转换为字符串?

标签 c# casting

如果我尝试这样做是行不通的:

static void Main(string[] args)
{
    int a = 5000;
    Console.WriteLine((string)a);
}

但不知何故这工作正常:

static void Main(string[] args)
{
    int a = 5000;
    Console.WriteLine(a + "");
}

这是为什么呢?是因为第一个尝试更改基类型而第二个只是将值附加到字符串吗?

最佳答案

int 无法转换为 string (1),但有一个运算符 + 接受 int作为左手参数和 string 作为右手参数 (2)。此运算符将 int 转换为 string 并连接两个 string

更好的方法可能是只使用 Console.WriteLine(a);,它会为您调用 a.ToString()

关于c# - 为什么我不能显式地将 int 转换为字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7320483/

相关文章:

c# - 调用选择文件对话框时出现 NullReferenceException 错误

c++ - 在 C++ 中将指向对象的指针转换为 void *

c# - 在 C# 中从 short 转换为 byte 时会发生什么?

c# - 如何将 JsonResult.Data 输出转换为原始类型?

Java 抽象类 : Returning “this” pointer for derived classes "follow up"

c# - 购物车问题,asp.net c#

c# - LINQ 按不同输出分组

c# - 从下载 URL 下载视频 MP4 文件

c# - 从字节(具有任意编码的文本)在内存中创建 zip 文件

c++ - 可移植的有符号/无符号字节转换,C++