如何通过CultureInfo.GetCultures访问国家/地区名称

时间:2012-10-17 11:40:19

标签: c# .net

我想通过c#代码访问国家/地区,州和引用名称。直到现在我通过CulturalInfo类成功访问国家名称我的国家名称代码:

    public string[] Get()
    {
        Dictionary<string, string> CountryNameDictonary = new Dictionary<string, string>();

        foreach (System.Globalization.CultureInfo ci in System.Globalization.CultureInfo.GetCultures(System.Globalization.CultureTypes.SpecificCultures))
        {
            System.Globalization.RegionInfo ri = new System.Globalization.RegionInfo(ci.Name);
            if (!CountryNameDictonary.ContainsKey(ri.EnglishName))
            {
                CountryNameDictonary.Add(ri.EnglishName, ri.TwoLetterISORegionName);
            }
        }

        var OrderedNames = CountryNameDictonary.OrderBy(p => p.Key);

        Dictionary<string, string> Countries = new Dictionary<string, string>();
        foreach (KeyValuePair<string, string> val in OrderedNames)
        {
            Countries.Add(val.Key, val.Value);
        }

        return Countries.Keys.ToArray();
    }

现在我被困了,并没有得到如何访问状态和引用名称。我想要最简单的方法来做每个选定国家的州和城市列表,而无需返回编辑数据源(数据库)或XML)。我该怎么做,请帮帮忙?

1 个答案:

答案 0 :(得分:0)

在这个美国政府网站上,您可以获得城市和其他地理特征列表:http://earth-info.nga.mil/gns/html/namefiles.htm

您可以从文件中提取数据并使用它们填充您自己的数据库,然后从您的应用程序中查询它。

你不能从CultureInfo或.NET框架中做任何事情,因为它没有提供这样的东西。