2013-08-22 3 views
5

Ich brauche die numerischen Codes von ISO 3166-1 Ländern in C#.Wie bekomme ich den numerischen Code aller ISO 3166-1 Länder in C#

Screenshot of table listing countries and their numeric codes

Es scheint mit der RegionInfo Klasse I nur die Alpha2 und Alpha3 Codes erhalten können. Ist es möglich, die ISO 3166-1-Codes in C# zu erhalten?

+3

AFAIK, gibt es keine solch eine Information im Rahmen ... naja, vielleicht in einer Low-Level-API. Warum jedoch nicht die Codes in eine Textdatei und analysieren sie durch C# -Code? Ich habe das Gleiche für die Alpha-2-Codes getan. –

Antwort

2

Ich habe eine Erweiterungsmethode für RegionInfo erstellt, um den numerischen Wert abzurufen. Es ist ähnlich wie bei der Lösung von Dmitry Bychenko erwähnt, aber ich brauche eine zusätzliche Methode, und ich möchte eine aktuelle Version der ISO 3166 Datensätze:

  //usage 
     RegionInfo regionInfo = new RegionInfo("US"); 
     int numericIsoCodeUS = regionInfo.NumericIsoCode(); 

Erweiterung Methode Klasse:

using System; 
using System.Collections.Generic; 
using System.Globalization; 

namespace ISO3166_1Test 
{ 
    public static class Iso3166Helper 
    { 
     private static Dictionary<string, int> Iso3166NumericDictionary { get; set; } 
     /// <summary> 
     /// This is an extension method for class RegionInfo 
     /// It will return the ISO 3166-1 numeric value of a given RegionInfo 
     /// 
     /// If there is no numeric value for a given regionInfo(e.g. Serbia and Montenegro (Former) or Caribbean), and exception will be thrown 
     /// </summary> 
     /// <param name="regionInfo">The RegionInfo object used for the extension method</param> 
     /// <returns>the numeric ISO 31666-1 value of a given RegionInfo </returns> 
     public static int NumericIsoCode(this RegionInfo regionInfo) 
     { 
      if (!Iso3166NumericDictionary.ContainsKey(regionInfo.TwoLetterISORegionName)) 
      { 
       throw new Exception(string.Format("There is no numeric value for regionInfo {0}", regionInfo.Name)); 
      } 
      return Iso3166NumericDictionary[regionInfo.TwoLetterISORegionName]; 
     } 
     static Iso3166Helper() 
     { 
      Iso3166NumericDictionary = new Dictionary<string, int>{ 
       {"AF", 4}, 
       {"AX", 248}, 
       {"AL", 8}, 
       {"DZ", 12}, 
       {"AS", 16}, 
       {"AD", 20}, 
       {"AO", 24}, 
       {"AI", 660}, 
       {"AQ", 10}, 
       {"AG", 28}, 
       {"AR", 32}, 
       {"AM", 51}, 
       {"AW", 533}, 
       {"AU", 36}, 
       {"AT", 40}, 
       {"AZ", 31}, 
       {"BS", 44}, 
       {"BH", 48}, 
       {"BD", 50}, 
       {"BB", 52}, 
       {"BY", 112}, 
       {"BE", 56}, 
       {"BZ", 84}, 
       {"BJ", 204}, 
       {"BM", 60}, 
       {"BT", 64}, 
       {"BO", 68}, 
       {"BQ", 535}, 
       {"BA", 70}, 
       {"BW", 72}, 
       {"BV", 74}, 
       {"BR", 76}, 
       {"IO", 86}, 
       {"BN", 96}, 
       {"BG", 100}, 
       {"BF", 854}, 
       {"BI", 108}, 
       {"KH", 116}, 
       {"CM", 120}, 
       {"CA", 124}, 
       {"CV", 132}, 
       {"KY", 136}, 
       {"CF", 140}, 
       {"TD", 148}, 
       {"CL", 152}, 
       {"CN", 156}, 
       {"CX", 162}, 
       {"CC", 166}, 
       {"CO", 170}, 
       {"KM", 174}, 
       {"CG", 178}, 
       {"CD", 180}, 
       {"CK", 184}, 
       {"CR", 188}, 
       {"CI", 384}, 
       {"HR", 191}, 
       {"CU", 192}, 
       {"CW", 531}, 
       {"CY", 196}, 
       {"CZ", 203}, 
       {"DK", 208}, 
       {"DJ", 262}, 
       {"DM", 212}, 
       {"DO", 214}, 
       {"EC", 218}, 
       {"EG", 818}, 
       {"SV", 222}, 
       {"GQ", 226}, 
       {"ER", 232}, 
       {"EE", 233}, 
       {"ET", 231}, 
       {"FK", 238}, 
       {"FO", 234}, 
       {"FJ", 242}, 
       {"FI", 246}, 
       {"FR", 250}, 
       {"GF", 254}, 
       {"PF", 258}, 
       {"TF", 260}, 
       {"GA", 266}, 
       {"GM", 270}, 
       {"GE", 268}, 
       {"DE", 276}, 
       {"GH", 288}, 
       {"GI", 292}, 
       {"GR", 300}, 
       {"GL", 304}, 
       {"GD", 308}, 
       {"GP", 312}, 
       {"GU", 316}, 
       {"GT", 320}, 
       {"GG", 831}, 
       {"GN", 324}, 
       {"GW", 624}, 
       {"GY", 328}, 
       {"HT", 332}, 
       {"HM", 334}, 
       {"VA", 336}, 
       {"HN", 340}, 
       {"HK", 344}, 
       {"HU", 348}, 
       {"IS", 352}, 
       {"IN", 356}, 
       {"ID", 360}, 
       {"IR", 364}, 
       {"IQ", 368}, 
       {"IE", 372}, 
       {"IM", 833}, 
       {"IL", 376}, 
       {"IT", 380}, 
       {"JM", 388}, 
       {"JP", 392}, 
       {"JE", 832}, 
       {"JO", 400}, 
       {"KZ", 398}, 
       {"KE", 404}, 
       {"KI", 296}, 
       {"KP", 408}, 
       {"KR", 410}, 
       {"KW", 414}, 
       {"KG", 417}, 
       {"LA", 418}, 
       {"LV", 428}, 
       {"LB", 422}, 
       {"LS", 426}, 
       {"LR", 430}, 
       {"LY", 434}, 
       {"LI", 438}, 
       {"LT", 440}, 
       {"LU", 442}, 
       {"MO", 446}, 
       {"MK", 807}, 
       {"MG", 450}, 
       {"MW", 454}, 
       {"MY", 458}, 
       {"MV", 462}, 
       {"ML", 466}, 
       {"MT", 470}, 
       {"MH", 584}, 
       {"MQ", 474}, 
       {"MR", 478}, 
       {"MU", 480}, 
       {"YT", 175}, 
       {"MX", 484}, 
       {"FM", 583}, 
       {"MD", 498}, 
       {"MC", 492}, 
       {"MN", 496}, 
       {"ME", 499}, 
       {"MS", 500}, 
       {"MA", 504}, 
       {"MZ", 508}, 
       {"MM", 104}, 
       {"NA", 516}, 
       {"NR", 520}, 
       {"NP", 524}, 
       {"NL", 528}, 
       {"NC", 540}, 
       {"NZ", 554}, 
       {"NI", 558}, 
       {"NE", 562}, 
       {"NG", 566}, 
       {"NU", 570}, 
       {"NF", 574}, 
       {"MP", 580}, 
       {"NO", 578}, 
       {"OM", 512}, 
       {"PK", 586}, 
       {"PW", 585}, 
       {"PS", 275}, 
       {"PA", 591}, 
       {"PG", 598}, 
       {"PY", 600}, 
       {"PE", 604}, 
       {"PH", 608}, 
       {"PN", 612}, 
       {"PL", 616}, 
       {"PT", 620}, 
       {"PR", 630}, 
       {"QA", 634}, 
       {"RE", 638}, 
       {"RO", 642}, 
       {"RU", 643}, 
       {"RW", 646}, 
       {"BL", 652}, 
       {"SH", 654}, 
       {"KN", 659}, 
       {"LC", 662}, 
       {"MF", 663}, 
       {"PM", 666}, 
       {"VC", 670}, 
       {"WS", 882}, 
       {"SM", 674}, 
       {"ST", 678}, 
       {"SA", 682}, 
       {"SN", 686}, 
       {"RS", 688}, 
       {"SC", 690}, 
       {"SL", 694}, 
       {"SG", 702}, 
       {"SX", 534}, 
       {"SK", 703}, 
       {"SI", 705}, 
       {"SB", 90}, 
       {"SO", 706}, 
       {"ZA", 710}, 
       {"GS", 239}, 
       {"SS", 728}, 
       {"ES", 724}, 
       {"LK", 144}, 
       {"SD", 729}, 
       {"SR", 740}, 
       {"SJ", 744}, 
       {"SZ", 748}, 
       {"SE", 752}, 
       {"CH", 756}, 
       {"SY", 760}, 
       {"TW", 158}, 
       {"TJ", 762}, 
       {"TZ", 834}, 
       {"TH", 764}, 
       {"TL", 626}, 
       {"TG", 768}, 
       {"TK", 772}, 
       {"TO", 776}, 
       {"TT", 780}, 
       {"TN", 788}, 
       {"TR", 792}, 
       {"TM", 795}, 
       {"TC", 796}, 
       {"TV", 798}, 
       {"UG", 800}, 
       {"UA", 804}, 
       {"AE", 784}, 
       {"GB", 826}, 
       {"US", 840}, 
       {"UM", 581}, 
       {"UY", 858}, 
       {"UZ", 860}, 
       {"VU", 548}, 
       {"VE", 862}, 
       {"VN", 704}, 
       {"VG", 92}, 
       {"VI", 850}, 
       {"WF", 876}, 
       {"EH", 732}, 
       {"YE", 887}, 
       {"ZM", 894}, 
       {"ZW", 716} 

       }; 
     } 
    } 
} 
Verwandte Themen