I'm currently facing an issue with my code related to the way CultureInfo.GetCultures method is sending me the list of countries.

I have this in my getCountries method:

System.Threading.Thread.CurrentThread.CurrentCulture = new CultureInfo("en-GB"); 
System.Threading.Thread.CurrentThread.CurrentUICulture = new CultureInfo("en-GB"); 
var cultures = CultureInfo.GetCultures(CultureTypes.SpecificCultures);

Which retrieves me a list of Cultures in associated to English Culture.

I was trying to do something like

public List<String> getCountriesNamesbyCountry(string countrycode){

    System.Threading.Thread.CurrentThread.CurrentCulture = new CultureInfo(countrycode); 
    System.Threading.Thread.CurrentThread.CurrentUICulture = new CultureInfo(countrycode); 
    var cultures = CultureInfo.GetCultures(CultureTypes.SpecificCultures);

    var cultureList = new List<String>();

       foreach (CultureInfo cul in cultures)
            var country = new RegionInfo(cul.LCID);

            if (!cultureList.Contains(country.DisplayName))

        return cultureList;

If I try to do this

List<String> en = getCountriesNamesbyCountry("en");
List<String> es = getCountriesNamesbyCountry("es");

Both lists will give me a list of country names in english.
What am I doing wrong >.<?

Build a resource yourself, which you can then include and use in your application. Perhaps you can find one online. There must've been more people facing this issue.

This article has been dead for over six months. Start a new discussion instead.