ReShaper 代码修改建议解释记录

Created
Jun 1, 2021 7:30 AM

Specify string culture explicitly

当尝试通过下面这样的方法直接把 float 转成 string 的时候,会出现这个提示。

void Test(float foo)
{
    Console.WriteLine(foo.ToString()); ;
}

这是因为在不同地区对于小数点的表示是不同的,比如当遇到一个 cs-CZ (Czech) 语言环境的电脑,他会将 3.14 表示为 3,14。这样就导致如果这样写的话,在不同电脑上运行的结果可能不同。

当然,DateTime 等数据类型也是一样的道理,通过 .ToString() 直接转换成字符串都有可能出现问题。