![](/img/trans.png)
[英].ToString() and .ToString(CultureInfo.CurrentCulture)
[英]ToString() default CultureInfo
我想我理解CultureInfo的用法。
如果我做的很简单:
const int a = 5;
string b = a.ToString();
它等于:
const int a = 5;
string b = a.ToString(CultureInfo.InvariantCulture);
换句话说,ToString()默认使用InvariantCulture或CurrentCulture吗?
如果您未指定文化, ToString
将使用CurrentCulture
,而不是InvariantCulture
。
未指定时,ToString()使用CurrentCulture
请参阅: http : //msdn.microsoft.com/en-us/library/6t7dwaa5(v = vs.85).aspx
“返回值的格式为通用数字格式说明符(”G“)和当前文化的NumberFormatInfo。”
所有内置类和数值类型的ToString
实现默认使用CultureInfo.CurrentCulture
文化 ,即当前线程使用的文化。
这意味着当前文化(以及因此您的字符串格式化和解析功能)将因系统而异。 在我看来,这是一个设计错误,它在过去曾经被人咬过。 它应该默认为InvariantCulture
并在系统间提供相同的结果,但不幸的是它没有。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.