using System.Globalization;
using System.Collections.Generic;
public string Code { get; set; }
public string Name { get; set; }
public static List<Country> GetCountries()
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() { Code = C.Key.Name, Name = C.Key.EnglishName }).OrderBy(C => C.Name).ToList();
public static void Main()
foreach (var country in GetCountries())
Console.WriteLine(country.Code + ": " + country.Name);