Получить континент страны в C#

Есть ли способ найти континент страны в C#, используя RegionInfo класс или любой другой способ?

Например, вы даете название страны "Дания", а оно возвращает "Европа".

7 ответов

Решение

Вы можете хранить хэш-таблицу. Записи будут иметь в качестве ключа название страны и в качестве значения название континента. Просто сгенерируйте эту таблицу из какой-либо общедоступной базы данных, и, когда она у вас будет, вы можете просто запросить ее. Это также довольно быстро.

http://www.geonames.org/countries/
Вы можете получить оттуда базу данных (есть возможность скачать / экспортировать)

Ничего подобного в.NET Framework. Это также довольно двусмысленно с географическими определениями для Евразии и Океании. Есть 6 различных определений в использовании. Вам понадобится ваша собственная база данных.

Есть только несколько континентов и всего пара сотен стран, поэтому было бы не сложно создать свой собственный стол. Существуют разные мнения относительно того, что такое континенты (Австралия / Океания / Австралазия / Азия иногда бывают особенно колючими) и того, находятся ли, например, Турция и Россия в Европе, Азии или в обоих. Тем не менее, по крайней мере, вы можете сделать свой собственный звонок по этим вопросам.

RegionInfo не хранит континент. Но вы можете создать базу данных, используя GeoNames.org Информация о стране. Формат данных - текст с разделителями табуляции в кодировке utf8. Здесь есть вся информация и многое другое, что вам нужно.

Я знаю, что это старый вопрос, но я создал библиотеку для C#, которая содержит информацию о континентах. Вы можете найти мой проект здесь. Nager. Страна. Надеюсь, он вам поможет.

Пакет Nuget также доступен install-package Nager.Country

пример

ICountryProvider countryProvider = new CountryProvider();
var countryInfo = countryProvider.GetCountry(Alpha2Code.DK);

Единственное решение - создать собственные справочные списки в соответствии с нужной вам моделью континента. Например, в США и Великобритании мы рассматриваем Америку как два отдельных континента (Северная Америка и Южная Америка), тогда как людей в большинстве других стран учат, что Америка - это единый континент.

Также следует учитывать, что некоторые страны расположены на двух континентах. Часть России находится в Европе, остальная часть - в Азии. То же и с Турцией.

Другие вопросы по тегам