我想我理解CultureInfo的用法。
如果我做的很简单:
const int a = 5;
string b = a.ToString();是否等于:
const int a = 5;
string b = a.ToString(CultureInfo.InvariantCulture);换句话说,默认情况下,InvariantCulture ()使用CurrentCulture还是ToString(),或者两者都不使用?
发布于 2013-04-04 18:43:13
如果不指定区域性,ToString将使用CurrentCulture而不是InvariantCulture。
发布于 2013-04-04 18:43:15
ToString()在未指定时使用CurrentCulture
请参阅:http://msdn.microsoft.com/en-us/library/6t7dwaa5(v=vs.85).aspx
“返回值是用通用数字格式说明符("G")和当前区域性的NumberFormatInfo格式化的。
发布于 2013-04-04 18:46:46
默认情况下,所有内置类和数值类型的ToString实现都使用当前线程使用的区域性 culture。
这意味着当前区域性(因此您的字符串格式化和解析功能)将在不同的系统之间有所不同。在我看来,这是一个设计上的错误,它曾经咬过人。它应该默认为InvariantCulture,并且跨系统提供相同的结果,但不幸的是它没有。
https://stackoverflow.com/questions/15819177
复制相似问题