C# · 12月 27, 2021

c# – 为什么在String转换中指定文化

这个问题在这里已经有一个答案:> Is Int32.ToString() culture-specific?6
Resharper警告我,在做一个int.ToString()时需要指定一个字符串文化,

例如:

int Value = Id.ToString(); // Where Id is an int

这是否只是复习者是迂腐的,还是有理由需要给文本设置转换int到字符串?

如果有理由这样做 – 当我的网站在全球使用时,最好使用什么?应该只是反映服务器的设置,使内部转换安全吗?

解决方法 因为,例如,英国文化使用’.’作为小数点,法国文化如何使用,而相反的则是分开数千.指定文化会消除这种歧义,以便在为不同语言配置的Windows操作系统上执行相同的代码,特别是如果解析的值正在提交给永久存储.