1

我正在使用以下代码来显示本地化的国家/地区名称(该国家/地区的语言名称),但大多数国家/地区都缺少,例如津巴布韦:

Dictionary<string, string> objDic = new Dictionary<string, string>();

                foreach (CultureInfo ObjCultureInfo in CultureInfo.GetCultures(CultureTypes.SpecificCultures))
                {
                    RegionInfo objRegionInfo = new RegionInfo(ObjCultureInfo.Name);
                    if (!objDic.ContainsValue(objRegionInfo.TwoLetterISORegionName.ToLower()))
                    {
                        objDic.Add(objRegionInfo.NativeName, objRegionInfo.TwoLetterISORegionName.ToLower());
                    }
                }

                var obj = objDic.OrderBy(p => p.Key);
                foreach (KeyValuePair<string, string> val in obj)
                {
                    cmbCountry.Items.Add(new ListItem(val.Key, val.Value.ToUpper()));
                }

它显示了 245 个国家中的 127 个,请建议我解决这个问题。

谢谢

4

1 回答 1

0

我认为您需要更改此行:

CultureInfo.GetCultures(CultureTypes.SpecificCultures)

对此:

CultureInfo.GetCultures(CultureTypes.AllCultures)

这将适用于所有文化。如果您看到 msdn:

CultureTypes.AllCultures ,它返回所有中性和特定文化、安装在 Windows 操作系统中的文化以及用户创建的自定义文化。

CultureTypes.SpecificCultures ,返回所有特定的文化。

参考这里

于 2012-04-18T07:23:54.553 回答