为什么我们从CultureInfo.GetCultures(CultureTypes.AllCultures)获得相同的CultureInfo.LCID

时间:2014-10-23 08:55:08

标签: c# .net culture

我们的代码很简单,获取文化并将它们放在下拉列表控件中。

items = new SortedDictionary<int, string>();
foreach (CultureInfo info in CultureInfo.GetCultures(CultureTypes.AllCultures))
{
    string value = string.Format(System.Globalization.CultureInfo.CurrentCulture, "{0} - {1}", info.LCID, info.DisplayName);
    if (!items.ContainsKey(info.LCID))
    {
         items.Add(info.LCID, value);
    }
}

我们希望使用LCID作为字典的关键。

但是,有时我们得到相同的LCID值,例如,当LCID为4时,displayname为“Chinese(Simplified)”或“Chinese(Simplified)Legacy”,这些CultureInfo之间有什么区别?

我们仍然可以使用LCID作为关键吗?

感谢您的回答

1 个答案:

答案 0 :(得分:0)

“中文(简体)”和“中文(简体)遗产”是指相同的文化(相同的LCID)。您可以使用LCID作为密钥。

This was a change introduced in .NET Framework 4遵循命名约定LanguageName([Script,] Country / RegionName)。

  

中国文化的显示名称已更改为遵循命名惯例LanguageName([Script,] Country / RegionName)。在.NET Framework 4中,“Legacy”一词已附加到zh-CHS和zh-CHT显示名称,以区别于zh-Hans和zh-Hant。