Получить континент страны в C # - PullRequest
6 голосов
/ 27 марта 2011

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

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

Ответы [ 6 ]

7 голосов
/ 27 марта 2011

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

3 голосов
/ 27 марта 2011

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

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

2 голосов
/ 27 марта 2011

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

1 голос
/ 27 марта 2011
0 голосов
/ 01 февраля 2019

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

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

Пример

ICountryProvider countryProvider = new CountryProvider();
var countryInfo = countryProvider.GetCountry(Alpha2Code.DK);
0 голосов
/ 27 марта 2011

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

...