Konvertieren von Ländercodes in .NET
In .NET gibt es eine Möglichkeit, zu konvertieren, die aus drei Buchstaben bestehenden codes (definiert in ISO 3166-1 alpha-3) zu zwei-Buchstaben-Sprachen-codes (definiert in ISO 3166-1 alpha-2) zB. konvertieren BEL zu WERDEN?
Habe mir die RegionInfo Klasse in System.Die Globalisierung aber der Konstruktor nicht scheinen, um die Unterstützung der drei-Buchstaben-codes.
InformationsquelleAutor der Frage flalar | 2011-02-03
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den
RegionInfo
Klasse kennt die drei-Buchstaben-code (in derThreeLetterISORegionName
Eigentum), aber ich glaube nicht, dass es ist ein Weg, umRegionInfo
basierend auf diesem code, den Sie brauchen würde, um alle aufzuzählen, Regionen und fügen Sie Sie zu Ihrem eigenen Wörterbuch, mit dem drei-letter-code als Schlüssel.Aber ich denke, die .NET Framework verwendet
RegionInfo
arbeiten mit Kulturenkeine Länder, die in der ISO 3166-1 Sinn. Deshalb werden viele Länder aus der ISO 3166-1-standard nicht verfügbar (versuchen Sie z.B.SX
). Ich denke, man sollte erstellen Ihr eigenes Land Codebuch.Edit: Aus 246 Ländern in meinem aktuellen Land Codebuch,
RegionInfo
ist verfügbar für 125 von Ihnen, der rest (121) werden nicht unterstützt. Fazit: Dies ist nicht ein guter Weg, um ein Land Codebuch.InformationsquelleAutor der Antwort Mormegil
Sieht aus wie es gibt keine integrierte Möglichkeit, das zu tun. Können Sie den Ansatz aus der GenericTypeTea Antwort. Aber wenn Sie brauchen, um zu konvertieren eine Vielzahl von Länder-codes können Sie vermeiden, Kulturen enumeration und pre-berechnen einer Zuordnung Wörterbuch für Land-codes die Konvertierung.
Ist, wie ein solcher generator aussieht:
Führen Sie diesen generator zu bekommen, einem Land, codes mapping-Wörterbuch wie dieses:
InformationsquelleAutor der Antwort Max Galkin
AKTUALISIERT:
Nicht gelesen haben, die Frage richtig vor. Die folgenden sollte jetzt korrekt konvertieren von ISO 3166-1 alpha-3 ISO 3166-1 alpha-2:
Gibt es keinen eingebauten Weg, es zu tun. Sie benötigen zum Durchlaufen der
CultureInfo
s zu bekommen dieRegionInfo
s, um manuell zu finden ist das Spiel (das ist ziemlich wirkungsloser so einige caching wäre ratsam):InformationsquelleAutor der Antwort GenericTypeTea