usa unidos telefonicos paises pais mexico lada estados donde codigos codigo c# globalization

c# - unidos - ¿Cómo obtener el código de país de CultureInfo?



de donde es el area 714 en mexico (4)

Tengo los siguientes

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;

Nada de esto me da el código del país, por ejemplo, GB .

¿Hay una manera de conseguirlo sin división de cadena?


Los siguientes también aceptarán CultureInfo ("en");

var c = new CultureInfo("en-GB"); string countryAbbrivation; if (!c.IsNeutralCulture) { var region = new RegionInfo(ContentLanguage.PreferredCulture.LCID); countryAbbrivation = region.TwoLetterISORegionName.ToLower(); }else{ countryAbbrivation = c.Name; }


Puedes probar la clase RegionInfo . Una de las propiedades es la propiedad RegionInfo.TwoLetterISORegionName . Ejemplo 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 );

Nombre: nosotros

ThreeLetterISORegionName: USA

TwoLetterISORegionName: US


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

Lo más probable es que necesite utilizar la propiedad r.TwoLetterISORegionName .

string regionName = r.TwoLetterISORegionName;


System.Globalization.CultureInfo c = new System.Globalization.CultureInfo("en-GB"); var ri = new RegionInfo(c.Name); string countryName = ri.DisplayName;

Eso te dará:

"United Kingdom"

Para el uso de dos letras:

string countryAbbrivation = ri.TwoLetterISORegionName;

Eso te dará "GB"