Arjun YK Ответов: 2

Как получить список регионов с использованием системы .namspace глобализации


Могу ли я узнать, как получить список регионов с помощью System.globalization пространство имен.

Farhan Ghumra

Вы хотите регион или страну ?

Sandeep Mewara

Непонятный.

2 Ответов

Рейтинг:
2

Farhan Ghumra

//Code snippet
/// <summary>
/// method for generating a country list, say for populating
/// a ComboBox, with country options. We return the
/// values in a Generic List<t>
/// </t></summary>
/// <returns></returns>
public static List<string> GetCountryList()
{
    //create a new Generic list to hold the country names returned
    List<string> cultureList = new List<string>();

    //create an array of CultureInfo to hold all the cultures found, these include the users local cluture, and all the
    //cultures installed with the .Net Framework
    CultureInfo[] cultures = CultureInfo.GetCultures(CultureTypes.AllCultures & ~CultureTypes.NeutralCultures);

    //loop through all the cultures found
    foreach (CultureInfo culture in cultures)
    {
        //pass the current culture's Locale ID (http://msdn.microsoft.com/en-us/library/0h88fahh.aspx)
        //to the RegionInfo contructor to gain access to the information for that culture
        RegionInfo region = new RegionInfo(culture.LCID);

        //make sure out generic list doesnt already
        //contain this country
        if (!(cultureList.Contains(region.EnglishName)))
            //not there so add the EnglishName (http://msdn.microsoft.com/en-us/library/system.globalization.regioninfo.englishname.aspx)
            //value to our generic list
            cultureList.Add(region.EnglishName);
    }
    return cultureList;
}

//Example usage
foreach(string country in GetCountryList())
{
    comboBox1.Items.Add(country);
}</string></string></string>


Рейтинг:
1

Member 11585739

public class Country
    {
        public string countryCode { get; set; }
        public string countryName { get; set; }
    }

public List<Country> GetCountries()
        {
            //create a new Generic list to hold the country names returned
            List<Country> countryList = new List<Country>();

            CultureInfo[] cultures = CultureInfo.GetCultures(CultureTypes.AllCultures & ~CultureTypes.SpecificCultures);

            var v = cultures.Where(C => C.LCID != 127 & !C.IsNeutralCulture).Select(C => new { new RegionInfo(C.LCID).EnglishName, new RegionInfo(C.LCID).Name }).ToList();

            countryList = v.GroupBy(C => new { C.EnglishName, C.Name }).Select(C => new Country() { countryCode = C.Key.Name, countryName = C.Key.EnglishName }).OrderBy(C => C.countryName).ToList();

            return countryList;
        }


Afzaal Ahmad Zeeshan

Как это решение улучшается в дополнение к тому, которое уже предоставлено?

Member 11585739

это то же самое решение , но только я сделал это с помощью запроса linq(если кто-то этого хочет) с дополнительным кодом округа столбца .