Получить континент страны в C#
Есть ли способ найти континент страны в C#, используя RegionInfo
класс или любой другой способ?
Например, вы даете название страны "Дания", а оно возвращает "Европа".
7 ответов
Вы можете хранить хэш-таблицу. Записи будут иметь в качестве ключа название страны и в качестве значения название континента. Просто сгенерируйте эту таблицу из какой-либо общедоступной базы данных, и, когда она у вас будет, вы можете просто запросить ее. Это также довольно быстро.
http://www.geonames.org/countries/
Вы можете получить оттуда базу данных (есть возможность скачать / экспортировать)
Ничего подобного в.NET Framework. Это также довольно двусмысленно с географическими определениями для Евразии и Океании. Есть 6 различных определений в использовании. Вам понадобится ваша собственная база данных.
Есть только несколько континентов и всего пара сотен стран, поэтому было бы не сложно создать свой собственный стол. Существуют разные мнения относительно того, что такое континенты (Австралия / Океания / Австралазия / Азия иногда бывают особенно колючими) и того, находятся ли, например, Турция и Россия в Европе, Азии или в обоих. Тем не менее, по крайней мере, вы можете сделать свой собственный звонок по этим вопросам.
Вы можете использовать http://products.wolframalpha.com/api/
http://www.wolframalpha.com/input/?i=continent+THECOUNTRY
http://www.wolframalpha.com/input/?i=continent+sweden
RegionInfo не хранит континент. Но вы можете создать базу данных, используя GeoNames.org Информация о стране. Формат данных - текст с разделителями табуляции в кодировке utf8. Здесь есть вся информация и многое другое, что вам нужно.
Я знаю, что это старый вопрос, но я создал библиотеку для C#, которая содержит информацию о континентах. Вы можете найти мой проект здесь. Nager. Страна. Надеюсь, он вам поможет.
Пакет Nuget также доступен install-package Nager.Country
пример
ICountryProvider countryProvider = new CountryProvider();
var countryInfo = countryProvider.GetCountry(Alpha2Code.DK);
Единственное решение - создать собственные справочные списки в соответствии с нужной вам моделью континента. Например, в США и Великобритании мы рассматриваем Америку как два отдельных континента (Северная Америка и Южная Америка), тогда как людей в большинстве других стран учат, что Америка - это единый континент.
Также следует учитывать, что некоторые страны расположены на двух континентах. Часть России находится в Европе, остальная часть - в Азии. То же и с Турцией.