gpt4 book ai didi

c# - 转换为字符串返回null

转载 作者:行者123 更新时间:2023-11-30 14:29:15 24 4
gpt4 key购买 nike

当我尝试将 add 方法的返回值转换为字符串时,它不会在控制台中返回任何值。当我删除它返回值的 tostring 方法时。如果我在双引号内写入任何字符,它会显示在控制台中.调用 tostring 方法时发生了什么?如果我没有将任何双引号作为参数,它会显示编译时错误(指定字符串的区域性)在转换为字符串时指定区域性的目的是什么?我认为我可以通过调用 tostring 方法将整数值转换为字符串,为什么在这种情况下我不能进行转换?

        private static int Add(int x,int y)
{
return x+y;
}
static void Main(string[] args)
{
Console.WriteLine(Add(23,54).ToString(""));
Console.ReadKey();
}

谢谢。

最佳答案

一切都与实现有关;

来自 Int32.ToString(string)

If format is null or an empty string (""), the return value of this instance is formatted with the general numeric format specifier ("G").

这就是为什么 .ToString("") 等于 .ToString() 因为

来自 Int32.ToString()

The ToString() method formats an Int32 value in the default ("G", or general) format by using the NumberFormatInfo object of the current culture.

我尝试使用 .ToString("") 对所有文化进行格式化,但没有文化 返回null 或空字符串。

foreach (var c in CultureInfo.GetCultures(CultureTypes.AllCultures))
{
if((77).ToString("G", c) != "77")
Console.WriteLine (c.Name);
}

蓝线可能有一个插件(可能是 ReSharper)警告您使用另一个以 CultureInfo 作为参数的重载。

关于c# - 转换为字符串返回null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26575548/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com