2011-03-27 26 views
6

RegionInfo sınıfını veya başka bir yolu kullanarak bir ülkenin kıtasını C# bölgesinde bulmak için bir yol var mı? Örneğin, "Danimarka" ülke adını verirsiniz ve "Avrupa" değerini döndürür.Bir ülkenin kıtasını alın C#

cevap

3

hash table ürününü kaydedebilirsiniz. Girişler, ülke adı ve kıta adı olarak anahtar olacaktır. Sadece bazı ortak veritabanından bu tabloyu oluşturun ve bunu aldıktan sonra basitçe sorgulayabilirsiniz. Ayrıca oldukça hızlı.

http://www.geonames.org/countries/
Bir veritabanından oradan alabilirsiniz .NET framework böyle

+0

kullanabilir? Kullanabileceğim herhangi bir web servisinden haberin var mı? –

+0

Bunu elle yapmamanın o kadar büyük değil sanırım. Bunun gibi bir şey kullanmak, belki de http://www.geonames.org/countries/ –

+4

2002, adlandırılmamış koleksiyonlarını geri çağırıyor ve istiyor. –

7

Hiçbir şey (/ Ver İndirmek için bir seçenek yoktur). Avrasya ve Okyanusya için coğrafi tanımlamalar da oldukça belirsiz. 6 distinct definitions kullanımda. Kendi dbase'ine ihtiyacın olacak.

2

Sadece birkaç kıta ve sadece birkaç yüz ülke var, bu yüzden kendi masanızı oluşturmak çok zor olmaz. Kıtaların ne olduğu konusunda fikir ayrılıkları vardır (Avustralya/Okyanusya/Avustralasya/Asya zaman zaman dikenlidir) ve ör. Türkiye ve Rusya, Avrupa, Asya veya her ikisi de vardır. Yine de, en azından kendi yuvarlanmanız, bu konularda kendi aramanızı yapmanıza izin verir.

+3

+1 Sorunları daha da karmaşık hale getirmek için, * ülkelerin * ülkeler olarak nitelikleri konusunda farklı görüşler vardır. Adamım, jeopolitik zordur! –

+0

@Cody, genellikle isimler için kodların ISO listesiyle gidip, başkalarının tartışması için bu isimlerin atıfta bulunduğu şeyi bırakabiliriz. Yine de, birkaç kez diğer sistemlerin farklı planlarını uzlaştıran ve mükemmel bir çözüm bulunmayan sistemler inşa etmek zorunda kaldım, ancak bunlar genellikle savaşlar ve gerilla çatışmasıyla sonuçlanan anlaşmazlıklardı, dolayısıyla hiç kimse programcıların hepsini çözmeyi bekleyemez. . –

+0

Kesinlikle herhangi bir programcının tüm sorunları çözebileceğini önermiyordum! ISO listesini kullanma önerisi iyi olsa da. –

0

RegionInfo, continent'i tutmaz. Ancak GeoNames.org Country Information kullanarak bir veritabanı oluşturabilirsiniz. Veri formatı utf8 kodlamada sekmeyle ayrılmış metintir. İhtiyacın olan tüm bilgilere ve daha fazlasına sahip.

1

Benim karma tablosu bölümü ile mutabık olduğunu ancak kamuoyu hangi veritabanı dan bunu doldurmak do http://products.wolframalpha.com/api/

http://www.wolframalpha.com/input/?i=continent+THECOUNTRY
http://www.wolframalpha.com/input/?i=continent+sweden

+0

Bunun C# veya .NET ile ne ilgisi var? –

+1

Birkaç saatlik çalışmadan sonra çözülebilecek bir sorun için web sitelerini bir web servisi olarak kullanan bir uygulama hakkında WA'nın mutlu olup olmayacağını bilmiyorum. – Will

İlgili konular