I want to be able to get RegionInfo
by doing the following:
new RegionInfo("United Kingdom");
but this throws an exception and says that it is not recognised.
This page on RegionInfo says that an exception is thrown if 'name is not a valid country/region name'.
And yet this page specifies a list of predefined regions used by the class that and contains United Kingdom
, so why doesn't creating a new RegionInfo
with country name work?
var regions = CultureInfo.GetCultures(CultureTypes.SpecificCultures).Select(x => new RegionInfo(x.LCID));
var englishRegion = regions.FirstOrDefault(region => region.EnglishName.Contains(name));
If you want to get RegionInfo
by the country name, you could get an IEnumerable<RegionInfo>
and then filter based on the EnglishName
as above. This gives you the ability to populate things such as comboboxes too.