考虑这段代码:
new CultureInfo("sv").TextInfo.CultureName
这将返回“sv-SE”。但为什么?为什么不是“sv-FI”或其他文化?地区是如何确定的?
CultureName的文档说
如果 CultureInfo.Name 将中性文化作为其值,则相应的 CultureName 将使用相同语言的任意特定文化作为其值。例如,Name 属性为英语中性文化返回“en”,但相应的 CultureName 属性可能为英语(美国)文化返回“en-US”。
目前尚不清楚该地区是如何选择的。对于“en”,选择的区域是“US”,从而产生文化 en-US。
这似乎是一种自动获取一种语言的“主要”区域的好方法——但这真的是它的作用吗?还是选择 sv-SE 和 en-US 是完全随机的?“可能”这个词似乎太模糊了,无法依赖。