I know how to convert an ISO 3166-2 code to the full English name, e.g. "US" to "United States" by using RegionInfo
.
However, how can I do the opposite, i.e. that takes "United States" and returns "US"?
//Get the cultureinfo
RegionInfo rInfo = new RegionInfo("us");
string s = rInfo.EnglishName;
//Convert it back
CultureInfo[] cultures = CultureInfo.GetCultures(CultureTypes.SpecificCultures);
CultureInfo cInfo = cultures.FirstOrDefault(culture => new RegionInfo(culture.LCID).EnglishName == s);