web-dev-qa-db-fra.com

Comment obtenir le code pays de CultureInfo?

J'ai le suivant:

System.Globalization.CultureInfo c = new System.Globalization.CultureInfo("en-GB");

var a = c.DisplayName;
var b = c.EnglishName;
var d = c.LCID;
var e = c.Name;
var f = c.NativeName;
var g = c.TextInfo;
var h = c.ThreeLetterISOLanguageName;
var i = c.ThreeLetterWindowsLanguageName;
var j = c.TwoLetterISOLanguageName;

Rien de tout cela ne me donne le code du pays, par exemple. GB.

Y a-t-il un moyen de l'obtenir sans couper les chaînes?

19
Miguel Moura
var c = new CultureInfo("en-GB");
var r = new RegionInfo(c.LCID);
string name = r.Name;

Très probablement, vous devez utiliser la propriété r.TwoLetterISORegionName.

string regionName = r.TwoLetterISORegionName;
62
Sriram Sakthivel
System.Globalization.CultureInfo c = new System.Globalization.CultureInfo("en-GB");
var ri = new RegionInfo(c.Name);
string countryName = ri.DisplayName;

Cela vous donnera:

"United Kingdom"

Pour l'usage de deux lettres:

string countryAbbrivation = ri.TwoLetterISORegionName;

Cela vous donnera "GB"

8
Habib

Vous pouvez essayer la classe RegionInfo Class . Une des propriétés est la propriété RegionInfo.TwoLetterISORegionName . Exemple de MSDN:

RegionInfo myRI1 = new RegionInfo("US");
Console.WriteLine( "   Name:                         {0}", myRI1.Name );
Console.WriteLine( "   ThreeLetterISORegionName:     {0}", myRI1.ThreeLetterISORegionName );
Console.WriteLine( "   TwoLetterISORegionName:       {0}", myRI1.TwoLetterISORegionName );

Nom: US

ThreeLetterISORegionName: USA

TwoLetterISORegionName: US

4
Abbas