Как получить код страны ISO 3166 из CultureInfo в .NET

Учитывая объект CultureInfo, как мне получить двухсимвольный код страны ISO 3166? Например. от en-US я хочу US и от en-GB я хочу GB. Мне также нужно обрабатывать случаи, когда в культуре может не быть кода страны.


person Muhammad Rehan Saeed    schedule 08.04.2019    source источник


Ответы (1)


Используйте класс RegionInfo., чтобы получить двух (или трех) буквенное название региона ISO:

RegionInfo usa = new RegionInfo("en-US");           
string isoUSA = usa.TwoLetterISORegionName;

RegionInfo gb = new RegionInfo("en-GB");
string isoGB = gb.TwoLetterISORegionName;

Возможно, вы захотите перехватить возможное исключение, которое произойдет, если вы попытаетесь передать конструктору недопустимое значение.

person Esko    schedule 08.04.2019