Получение списка стран на C#
Каждый сайт, который имеет форму регистрации, содержит поле "Страна". Список стран, как правило, хранится в базе данных, но перед этим этот список должен там каким-то образом появиться. Здесь вариантов может быть несколько - можно найти список и его экспортировать в базу данных, можно нехитрыми движениями рук скопировать / вставить все страны, а можно сделать все программно.
Рассмотрим, как можно получить список стран программно на языке C#.
Для этого воспользуемся классами CultureInfo и RegionInfo для получения информации о культурах и регионах:
static void Main(string[] args) { //create a new Generic list to hold the country names returned List cultureList = new List(); //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) { try { //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); } } catch (ArgumentException ex) { // just ignor this continue; } } cultureList.Sort(); StringBuilder sb = new StringBuilder(); foreach (var country in cultureList) { sb.AppendLine(country); } Console.WriteLine(sb.ToString()); File.WriteAllText("countries.txt", sb.ToString()); Console.ReadKey(); }
Как вы видите, мы сначала получаем список культур с помощью CultureInfo.GetCultures(), далее по Locale ID создаем экземпляр класса RegionInfo, который хранит необходимую нам информацию. После добавления в список всех названий стран мы сортируем список и выводим их на экран:
Также мы можем сохранить список в текстовый файл (или другой удобный вам формат), а также записать полученные данные в базу данных, например с помощью LINQ to SQL.
Надеюсь, что этот маленький tip поможет сэкономить немного времени, если, конечно, вам необходимо будет решать такую задачу.
Компании из статьи
Microsoft Украина | Украинское подразделение компании Microsoft. |