2011-03-27 21 views

risposta

3

È possibile memorizzare un hash table. Le voci avranno come chiave il nome del paese e come valore il nome del continente. Basta generare questa tabella da un database pubblico e, una volta ottenuta, è sufficiente interrogarla. È anche piuttosto veloce.

http://www.geonames.org/countries/
È possibile ottenere da lì un database (c'è un'opzione per scaricare/Export)

+0

Sono d'accordo con la parte della tabella hash, ma da cui database pubblico faccio lo popolano? Conosci qualche servizio web che posso usare o qualcosa del genere? –

+0

Non è così importante non farlo manualmente, credo. Usando qualcosa di simile, forse: http://www.geonames.org/countries/ –

+4

2002 ha chiamato e vuole che le sue collezioni non tipizzate siano tornate. –

7

Nulla di simile nel framework .NET. È anche piuttosto ambiguo con le definizioni geografiche per l'Eurasia e l'Oceania. Ci sono 6 distinct definitions in uso. Avrai bisogno del tuo dbase.

2

Ci sono solo pochi continenti e solo un paio di centinaia di paesi, quindi non sarebbe molto difficile costruire il proprio tavolo. Ci sono divergenze di opinioni su ciò che i continenti sono (Australia/Oceania/Australasia/Asia a volte particolarmente spinose), e se ad es. La Turchia e la Russia sono in Europa, in Asia o in entrambi. Tuttavia, rotolare il tuo almeno ti consente di chiamare da solo su questi argomenti.

+3

+1 E per complicare ulteriormente le cose, ci sono opinioni divergenti su cosa * paesi * qualificano come paesi. Uomo, la geopolitica è dura! –

+0

@Cody, possiamo spesso passare dall'elenco di codici ISO per i nomi e lasciare solo quello a cui si riferiscono quei nomi per gli altri. Ho ancora alcune volte dovuto costruire sistemi che conciliano gli schemi di altri sistemi e non c'è una soluzione perfetta, ma questi sono disaccordi che spesso hanno portato a guerre e conflitti di guerriglia, quindi nessun programmatore può aspettarsi di risolverli tutti . –

+0

Non stavo certo suggerendo che qualsiasi programmatore potesse risolvere tutti i problemi! Il suggerimento di usare la lista ISO è buono, però. –

0

RegionInfo non memorizza il continente. Ma puoi costruire un database usando GeoNames.org Country Information. Il formato dei dati è un testo delimitato da tabulazioni nella codifica utf8. Ha tutte le informazioni e più di cui hai bisogno.

Problemi correlati