私は以下を持っています:
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;
これのどれも私に国コードを与えません、例えば。 GB
。
文字列を分割せずにそれを取得する方法はありますか?
var c = new CultureInfo("en-GB");
var r = new RegionInfo(c.LCID);
string name = r.Name;
おそらくあなたは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;
それはあなたに与えるでしょう:
"United Kingdom"
2文字使用の場合:
string countryAbbrivation = ri.TwoLetterISORegionName;
それはあなたに「GB」を与えるでしょう
RegionInfo Class を試すことができます。プロパティの1つは RegionInfo.TwoLetterISORegionName Property です。 MSDNの例:
RegionInfo myRI1 = new RegionInfo("US");
Console.WriteLine( " Name: {0}", myRI1.Name );
Console.WriteLine( " ThreeLetterISORegionName: {0}", myRI1.ThreeLetterISORegionName );
Console.WriteLine( " TwoLetterISORegionName: {0}", myRI1.TwoLetterISORegionName );
名前:米国
ThreeLetterISORegionName:USA
TwoLetterISORegionName:US
現在のスレッドのRegionInfo
だけを使用したい場合は、次の1行で国コードを取得できます。
RegionInfo.CurrentRegion.TwoLetterISORegionName